c# 自定义数据类型

定义引用类型用 class  ,值类型 用 struct ,涉及数据转换就用 上一篇的方法做 ,涉及 泛型就用 in  关键字

不用 in

interface IContravariant<A> { }
class Sample<A> : IContravariant<A> { }
class Program {
	static void Test() {
		IContravariant<MyClass7> Istr = new Sample<MyClass7>();
		IContravariant<MyClass8> Iint = new Sample<MyClass8>();
		Iint = (IContravariant<MyClass8>)Istr;
	}
	public class MyClass7 {}
	public class MyClass8:MyClass7{} 
}

用 in
interface IContravariant<in A> { }
class Sample<A> : IContravariant<A> { }
class Program {
	static void Test() {
		IContravariant<MyClass7> Istr = new Sample<MyClass7>();
		IContravariant<MyClass8> Iint = new Sample<MyClass8>();
		Iint = Istr;
	}
	public class MyClass7 {}
	public class MyClass8:MyClass7{} 
}

in 关键字 参见:
http://msdn.microsoft.com/zh-cn/library/dd469484.aspx
原文地址:https://www.cnblogs.com/bingguang/p/3495347.html