我不是在讨论声明具有泛型参数类型的属性或字段的泛型类.我在谈论可以应用于泛型和非泛型类的泛型属性.
我不是在说这个:
public class Base<T>
{
public T BaseProperty { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我在说这个:
public class Base
{
public T BaseProperty<T>
{
get
{
// Insert magic
}
set
{
// Insert magic
}
}
}
Run Code Online (Sandbox Code Playgroud)
或这个:
public class Base<U>
{
public T BaseProperty<T>
{
get
{
// Insert magic
}
set
{
// Insert magic
}
}
public U OtherBaseProperty { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
用法将是这样的:
var b = new Base();
b.BaseProperty<int> = 42;
int i = b.BaseProperty<int>; …
Run Code Online (Sandbox Code Playgroud)