특정 작업에서 내 POCO 엔티티의 특정 속성을 업데이트해야합니다.C# 인터페이스를 구현 한 후에 엔티티의 속성에 액세스하기
이public interface IEntityPOCO
{
Guid Id { get; set; }
}
public interface IHasLastChange : IEntityPOCO
{
DateTime LastChange { get; set; }
}
여기에 예제 액션 메소드입니다 :
나는 다음과 같은 인터페이스를 정의public void SomeStuff<T>(T entity) where T : class, IEntityPOCO
{
entity.Id = Guid.NewGuid(); // Works like a charm.
if (entity is IHasLastChange)
{
entity.LastChange = DateTime.Now; // Doesn't work. D'oh.
(IHasLastChange)entity.LastChange = DateTime.Now; // Doesn't work either.
}
}
- 구현 될 수있는 다른 속성 (해당 인터페이스를 가진 모든)의 꽤 많은 거기 때문에 POCO에 의해, 다른 기능 시그니처들에 관한 문제는 거의 문제가되지 않는다.
- 나는 성능상의 이유로 반사를 사용하지 않을 것입니다.
저를 불행에서 벗어날 수있는 방법이 있습니까?