我有斷言屬性(同上)包含一個指定的屬性(TV)以下的擴展方法:避免通用參數
public static void ShouldHave<T, TV, TT>(this T obj, Expression<Func<T, TT>> exp) {...}
該方法可以這樣調用:
MyDto myDto = new MyDto();
myDto.ShouldHave<MyDto, RequiredAttribute, int>(x => x.Id);
編譯就好了。我想知道是否可以從方法簽名中刪除T和TT。 T因爲ShouldHave被調用T爲什麼不需要明確地指定它。 TT是表達式(x.Id)中引用的屬性的類型。
什麼'TV'(第二泛型參數)的點? – 2011-06-14 10:51:10
它是必需屬性的類型。 – 2011-06-14 10:53:40
@ba__friend:再看看,他們有三個。 – 2011-06-14 10:56:23