通常、this.GetType()を呼び出すことはできますが、静的メソッドでこれにアクセスすることはできません。どうすれば確認できますか?
new StackFrame().GetMethod().DeclaringType
または
MethodBase.GetCurrentMethod().DeclaringType
または
new StackTrace(true).GetFrame(<frame index>).GetMethod() //e.g. <frame index> = 0
typeofを使用します:
string className = typeof(MyClass).Name;
それが最善の方法かどうかはわかりませんが、通常はprivate
コンストラクターを設定し(クラスが静的/ユーティリティのインスタンス化できないクラスの場合)、GetType()
を呼び出します。インスタンス上。
private MyStaticClass
{
// ...
}
public static Type MyStaticMethiod()
{
return new MyStaticClass().GetType();
}