我有断言属性(同上)包含一个指定的属性(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