の反射に相当するものは何ですか :
default(object); //null
実行時までタイプがない場合、たとえば
public void Method(Type type)
{
var instance = type.CreateDefault(); //no such method exists, but I expect there is a way of doing this?
}
の反射に相当するものは何ですか :
default(object); //null
実行時までタイプがない場合、たとえば
public void Method(Type type)
{
var instance = type.CreateDefault(); //no such method exists, but I expect there is a way of doing this?
}
どの参照型でも、既定値は null インスタンスです。どの値タイプでも、デフォルト値は を介して取得できますActivator.CreateInstance
。しかし、null参照ではなく実際のインスタンスinstance
が必要であることを示唆する変数が呼び出された場合...だから、これを行うことができます:
public object GetDefaultValue(Type type)
{
return type.IsValueType ? Activator.CreateInstance(type) : null;
}
...これがどれほど役立つかははっきりしていません。は型の既定値であり、型の既定のインスタンスとは異なります。