本文介绍了如何覆盖默认(T)在C#中?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
打印(默认值(INT)== 0)//真
同样地,如果我有一个自定义的对象,其默认值为null。
打印(默认值(美孚)== NULL)//真
我可以有默认(美孚)
和not null?
例如,这样的事情:
公共静态覆盖美孚默认设置()
{
返回新的Foo();
}
这不会编译。谢谢..
解决方案
您不能覆盖默认(T)的关键字。它始终是引用类型和值类型零空。
更多信息
print(default(int) == 0) //true
Similarly if I have a custom object, its default value will be null.
print(default(Foo) == null) //true
Can I have a custom value for default(Foo)
and not null?
For example, something like this:
public static override Foo default()
{
return new Foo();
}
This wont compile. Thanks..
解决方案
You can't override the default(T) keyword. It is always null for reference types and zero for value types.
More Information
这篇关于如何覆盖默认(T)在C#中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!