use*_*607 6 c# generics macros properties
我一直想知道 - 在c#中有一种方法可以为类中的几个属性定义"模板".这就是我的意思:让我们假设我有以下课程
class MyCLass
{
    public int  IntVal1 { get {...}; set{...} }
    public byte IntVal2 { get {...}; set{...} }
    ....
    public long IntValN { get {...}; set{...} }
}
Run Code Online (Sandbox Code Playgroud)
我没有在get和set访问器中编写任何特定的实现,但是想法是所有这些属性都有非常相似的实现 - 不同之处可能是它们在类的不同成员上运行,这些成员具有不同的类型,但总的来说它们都是看起来像.
我的想法是找到一种方法来定义某种(让我们称之为)"模板",其中一些参数可能用于声明所有这些属性,而无需编写每个属性的实际实现 - 也许使用属性!?!
我想我需要的是类似于C宏.
提前10倍
是的,如果我理解正确的话,在 C# 中我们使用泛型来实现这一点:
class MyCLass<T>
{
    public T Val { get {...}; set{...} }
}
Run Code Online (Sandbox Code Playgroud)
T定义您想要“模板”的类型。
然后你可以像这样使用这个类:
var myClassInt = new MyClass<int>();
myClassInt.Val // is an integer
Run Code Online (Sandbox Code Playgroud)