17.7 泛型结构
泛型结构和泛型类非常相似,泛型结构也有类型参数和类型参数约束,且规则相同。作为演示,我们以一个名为ValueObject的结构为例来说明泛型结构,它带有一个类型参数T,有一个字段和一个只读属性,我们分别使用int和string两种类型实参实例化它,如代码清单17-8所示。
代码清单17-8 泛型结构代码示例
1 namespace ProgrammingCSharp4
2{
3 class GenericsSample
4{
5 public static void Main()
6{
7 ValueObject<string>vo1=new ValueObject<string>("hello world!");
8 ValueObject<int>vo2=new ValueObject<int>(2010);
9
10 System.Console.WriteLine(vo1.TheData);
11 System.Console.WriteLine(vo2.TheData);
12}
13}
14
15 struct ValueObject<T>
16{
17 private T_data;
18
19 public ValueObject(T data)
20{
21_data=data;
22}
23
24 public T TheData
25{
26 get
27{
28 return_data;
29}
30}
31}
32}
上述代码的运行结果为:
hello world!
2010