Как использовать интерфейсы с Telerik OpenAccess - PullRequest
1 голос
/ 29 апреля 2009

Я пытаюсь реализовать мои постоянные классы, используя интерфейсы. Я создал следующее

public interface IFoo
{
    int Id {get;set;}
}

public class Foo : IFoo
{
    private int _id;

    public int Id {get{return _id;} set{_id = value;}}
}

public interface IBar
{
    int Id {get;set;}
    IFoo Foo {get;set;}
}

public class Bar : IBar
{
    private int _id;
    private IFoo _foo;

    public int Id {get{return _id;} set{_id = value;}}
    public IFoo Foo {get{return _foo;} set{_foo = value;}}
}

Можно ли указать, что Foo является допустимым классом и использовать его по умолчанию, я не хочу использовать базу данных для хранения типа класса.

Спасибо

Rohan

Ответы [ 3 ]

2 голосов
/ 04 мая 2009

Столбец дескриптора всегда необходим, потому что OpenAccess не знает, могут ли быть более допустимые реализации позже. Что вы можете сделать, это использовать прямую ссылку Foo в качестве частного поля и выставить его как свойство интерфейса. Исключение приведения к классу в установщике может помочь вам найти места, где установлен неправильный объект.

Надеюсь, это поможет,

Jan

1 голос
0 голосов
/ 04 мая 2009

после прочтения руководства Telerik я разместил вопрос на их форуме ...

Использование интерфейсов без сохранения типа класса в базе данных

Похоже, это невозможно.

...