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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值