와 제네릭이 아닌 인터페이스 속성을 재정 내가 좋아하는 두 개의 인터페이스를 가지고 다음과 같은 : 나는 클래스를 구현할 때일반적인 하나
public interface IEntityViewModel<T> : IEntityViewModel where T : class, ICLEntity
{
new T Entity { get; set; }
}
public interface IEntityViewModel
{
void LoadEntity(int primaryKey);
bool? DialogResult { get; set; }
ICLEntity Entity { get; set; }
}
가 어떻게 클래스에 표시되는 엔터티 속성이 있는지 확인 할 수 있습니다 일반 T?
ICLEntity IEntityViewModel.Entity
{
get
{
return ActiveItem.Entity;
}
set
{
ActiveItem.Entity = value as T;
}
}
하지만 내가 필요하지 않은 클래스에 두 개의 엔티티 속성을 얻을 :
이public abstract class EntityConductor<T> : IEntityViewModel<T>
where T : class, ICLEntity
{
public T Entity
{
get; set;
}
}
컴파일러 내가 예를 들어,뿐만 아니라 IEntityViewModel 구현을 추가해야합니다 : 다음은 샘플 클래스입니다 . 제네릭 인터페이스를 구현하는 경우 엔 Entity 속성이 T 유형이어야하고 비 generic 일 경우 ICLEntity 유형이어야합니다.
어떻게이 작업을 수행 할 수 있습니까? 나는 간단한 것을 놓치고 있습니까? .NET 4.0을 사용하고 있습니다. 공분산을 사용하면 도움이 될까요?
감사합니다.