Привет! Я пытаюсь написать класс POCO на правильном F#... Но что-то не так..
Код С#, который я хочу «перевести» на правильный F#:
public class MyTest
{
[Key]
public int ID { get; set; }
public string Name { get; set; }
}
Самое близкое, что я могу подобрать к приведенному выше коду на F#, выглядит примерно так:
type Mytest() =
let mutable _id : int = 0;
let mutable _name : string = null;
[<KeyAttribute>]
member x.ID
with public get() : int = _id
and public set(value) = _id <- value
member x.Name
with public get() : string = _name
and public set value = _name <- value
Однако, когда я пытаюсь получить доступ к свойствам версии F #, он просто возвращает ошибку компиляции, говорящую
"Поиск объекта неопределенного типа на основе информации до этой программной точки. Может потребоваться аннотация типа до этой программной точки, чтобы ограничить тип объекта. Это может позволить разрешить поиск." эм>
Код, который пытается получить свойство, является частью моего репозитория (я использую EF Code First).
module Databasethings =
let GetEntries =
let ctx = new SevenContext()
let mydbset = ctx.Set<MyTest>()
let entries = mydbset.Select(fun item -> item.Name).ToList() // This line comes up with a compile error at "item.Name" (the compile error is written above)
entries
Что, черт возьми, происходит?
Заранее спасибо!
[<Key>]
- person Joel Mueller   schedule 30.12.2010MyType
испортилось, когда вы скопировали и вставили, и не будет компилироваться как есть. - person Stephen Swensen   schedule 31.12.2010