是否可以指定我自己的默认对象而不是null?我想在某些对象上定义自己的默认属性.
例如,如果我有一个带有属性bar和baz的对象foo,而不是默认的returing null,我希望它是foo的一个实例,bar设置为"abc",baz设置为"def" - 这是可能?
您必须使用构造函数来获取该功能.所以,你不能使用默认值.
但是如果你的目标是确保泛型类中传递类型的某种状态,那么可能仍然存在希望.如果要确保传递的类型是可实例化的,请使用通用约束.new()约束.这确保了类型T的公共参数构造函数.
public class GenericClasswhere T : new() { //class definition private void SomeMethod() { T myT = new T(); //work with myT } }
不幸的是,您不能使用它来获取具有参数的构造函数,只能使用无参数构造函数.