7

したがって、コード内の静的型を指定すると、次のことができます

var defaultMyTypeVal = default(MyType);

実行時に使用できるように、Type の変数を指定して同じことを行うにはどうすればよいでしょうか?

つまり、一連の if ステートメントを使用せずに、またはジェネリックを使用せずに次のメソッドを実装するにはどうすればよいでしょうか (コンパイル時にメソッドに渡す型がわからないため)。

public object GetDefaultValueForType(Type type) {
  ....
}
4

1 に答える 1

11

この投稿から:

public object GetDefaultValue(Type t)
{
    if (t.IsValueType) {
        return Activator.CreateInstance(t);
    } else {
        return null;
}
于 2010-06-09T20:03:48.730 に答える