私は親クラスと子クラスだと仮定します。とGetChildName()現在のよう宣言するクラスの名前を取得しますか?
public abstract class Parent
{
public string GetParentName()
{
return GetType().Name;
}
}
public class Child : Parent
{
public string GetChildName()
{
return GetType().Name;
}
}
、両方GETPARENTNAMEを()は子供を返します。
私のシナリオでは、メソッドが宣言されているクラスの名前を取得したいと思います。
したがってGetChildName()は子しかしGETPARENTNAME()が親を返す必要が返すべきです。
これはどのような手段で可能ですか?
注:
私はメソッドGetType()を使用することができることを理解しBaseType.Nameが、階層が複雑になる可能性があるので、この は動作しません。
'私は' * GetChildName'、この方法は、私は彼らが二つの異なる方法であることを意味declared'されているクラスの名前を取得したいのですが子で宣言されています – Jonesopolis
[反映を使用して呼び出し元のメソッド名と型を取得するにはどうすればよいですか?](http://stackoverflow.com/questions/3095696/how-do-i-get-the-calling- method-name-and-type-using-reflection) – MethodMan
あなたは単純に "親"を返すことができます。文字列litteralを返すことが適切でない例を教えてください。 – Winter