일반 클래스를 사용하여 일반적인 "변경 가능한"메서드를 달성하기 위해 노력하고있어, C#이 얻을 수 있는지 모르겠다. 상황을 설명하겠습니다. 속성이 [PrimaryKey] 및 [Field]로 표시된 데이터베이스의 엔티티를 나타내는 클래스가 있습니다. 예 :일반 클래스 내에서 C# - 특정 형식 메서드 선언
public class Car :TableEntity
{
[Field]
[PrimaryKey]
public string RegNumber{get;set;}
[Field]
public string Color{get;set;}
}
무엇을 달성하려고하는 것은 TableEntity 클래스를 사용하여 제네릭 클래스의 인스턴스는 .GetOne() 메소드가 자동으로 기본 키의 사람들로 매개 변수를 변경하는 것이,하지만 난 할 수 없었다 그것을 할 우아한 방법을 찾으십시오.
public class BusinessObject<T> where T:TableEntity
{
public T GetOne(); //this is the method to modify depending on which type is T
}
을하고 난
BusinessObject<Car> BO = new BusinessObject<Car>();
을 할 경우 내가있는 Intellisense에 표시되어야합니다 : 예를 들어
, 나는이
BO.GetOne(string RegNumber);
는 방법이나 해결 방법에 있습니까 이걸 달성 할까? 나는 System.Reflection을 사용하여 [PrimaryKey]로 표시된 매개 변수 이름과 유형을 추출 할 수 있지만 "공중에서"메소드 선언을 수정할 수 있는지 여부는 알지 못합니다.
대단히 감사합니다!