关于C#中的new的用法
2016-06-16 22:31
399 查看
修饰符:隐藏基类中的成员(是基类中的成员,所以字段、属性、事件等等都可以隐藏,不单单是方法哦)
这段代码中有一个错误:VS会提示
为了能使子类使用WriteName这个方法,就得用new关键字来隐藏父类中的方法,也可以说是我们新建了一个WriteName方法,这种用法一般在写第三方插件的时候用得较多
当然,如果想使用父类中的成员只需显示转换就行
约束:new约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数。 要注意的是如果要使用 new 约束,则该类型不能为抽象类型;
当泛型类中有多个约束时,new约束必须写在最后
new的基本用法就这么多,当然还有一些别的小知识点,例如创建匿名类等等
public class Car { public void WriteName(string name) { Console.WriteLine(name); } } public class NewCar:Car { public void WriteName(string name) { Console.WriteLine("车名":+name); } }
这段代码中有一个错误:VS会提示
为了能使子类使用WriteName这个方法,就得用new关键字来隐藏父类中的方法,也可以说是我们新建了一个WriteName方法,这种用法一般在写第三方插件的时候用得较多
public class NewCar:Car { //用new隐藏基类中的方法 public new void WriteName(string name) { Console.WriteLine("车名":+name); } }
当然,如果想使用父类中的成员只需显示转换就行
约束:new约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数。 要注意的是如果要使用 new 约束,则该类型不能为抽象类型;
当泛型类中有多个约束时,new约束必须写在最后
public class Cars<T> where T : IComparable, new(){ }
new的基本用法就这么多,当然还有一些别的小知识点,例如创建匿名类等等
相关文章推荐
- C#获取运行程序的进程ID
- c#CheckedListBox单选多选个数限制问题
- C# 读取快捷方式指向的文件
- 转 C# 装箱和拆箱[整理]
- c#checkedListBox设置限制选项个数的问题
- C#MVC中Controler的自定义属性使用
- 练习、C# 结构体、冒泡排序
- C#中的代理
- C# 生成随机索引列表
- 关于C#对图片部分操作(水印、透明度)
- U3D结合第三方库ICSharpCode.SharpZipLib 实现文件夹打包解包
- C# UDP收发请求工具类
- C# 多线程是否结束可通过线程池可以判断
- VS2015中C#版本6.0的新特性 你需要知道
- C#中lambda表达式浅析
- C#中数组、ArrayList和List三者的区别
- [置顶] C# 如何利用反射,将字符串转化为类名并调用类中方法
- 自定义热键的代码(C#)
- C#套接字Socket编程之最简单通信
- C# DateTime 格式化 奇怪问题!