c#中的泛型类混淆

时间:2015-05-21 15:19:21

标签: c# generics

c#中的 TProperty 是什么?

我看到了这样的代码:

public abstract class Myclass<T, TProperty> : .... 

我知道 T 是我们传递的类型的泛型类型。 TProperty 也与 T 相同。

3 个答案:

答案 0 :(得分:1)

<>内的任何内容都是通用类型指示符。它的名称对编译器没有任何影响,但它对于代码可读性应该是有意义的 就像在Dictionary<TKey, TValue>中一样 当然,它的范围必须是唯一的,包括该范围内的变量名称 请注意,类型指示符不是变量,但Do与变量名称冲突(感谢Aravol对此的评论)。

答案 1 :(得分:1)

TProperty是第二个通用参数。

  • 与方法上的对象参数类似,名称必须是唯一的以区分它们
  • 泛型可以有多个参数
  • 按照惯例,通用参数名称是或以大写字母开头&#34; T&#34;。

答案 2 :(得分:0)

根据您提供的课程说明:

public abstract class Myclass<T, TProperty> : .... 

创建类的人似乎打算在创建类时提供对象(T)和对象属性(TProperty)。

最好的猜测是这样的:

var mine = new Myclass<Generic.List, String>();

但是,如果没有更多的代码或代码的使用方式,很难说清楚。