문제

인터페이스를 사용하여 투명한 클래스를 구현하려고합니다. 나는 다음을 만들었습니다

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가 유효한 클래스임을 표시하고 기본적으로 사용하기 위해 데이터베이스를 사용하여 클래스 유형을 저장하고 싶지 않습니다.

감사

로한

도움이 되었습니까?

해결책 3

Telerik 가이드를 읽은 후 나는 그들의 포럼에 질문을 게시했습니다 ...

데이터베이스에 클래스 유형을 저장하지 않고 인터페이스 사용

불가능한 것 같습니다.

다른 팁

OpenAccess가 나중에 더 유효한 구현이 있을지 모르기 때문에 Descriminator 열은 항상 필요합니다. 당신이 할 수있는 일은 직접 Foo 참조를 개인 필드로 사용하고 인터페이스 속성으로 노출시키는 것입니다. 세터의 클래스 캐스트 예외는 잘못된 객체가 설정된 장소를 찾는 데 도움이 될 수 있습니다.

도움이되기를 바랍니다.

1 월

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top