.NET 4.5'ün [CallerMemberNameAttribute] adlı yeni bir özniteliğe sahip olduğunu fark ettik. Bu yöntem, bir yöntemin parametresine eklendiğinde adlı yöntemin dize adını sağlayacak Bu yöntemi (eğer bu mantıklıysa).C# Yığın İzi Olmadan Arama Yöntemi Alın
Ancak, maalesef (XNA ile bir şeyler yapmak istediğim için) yalnızca .NET 4.0'ı hedefliyorum.
ben böyle bir şey yapmak mümkün istiyorum:
void MethodA() {
MethodB();
}
void MethodB() {
string callingMethodName = (...?);
Console.WriteLine(callingMethodName);
}
nerede çıktı
Yöntemia olurdu.
Ben yığın izleme yoluyla bu yapabileceğini biliyorum, ama bu) bir Güvenilmez olduğunu ve bu bilgiyi toplamak için başka bir yolu varsa b) sloooow ... yüzden ... Ancak böyle olabilir,
merak ediyorumBu konuda herkesin sahip olabileceği herhangi bir fikir veya bilgi için umut ediyordum. Şimdiden teşekkürler :)
Arama yöntemi adında bir dize olarak geçirme? – Oded
@Oded Well evet açıkça MethodB ("MethodA") diyebilirim ancak nokta dinamik olarak yapmaya çalışıyorum, bu yüzden MethodA'yı MethodC'ye değiştirirsem bu aramayı da düzenlemek zorunda kalmam. – Xenoprimate
Sorunun bu noktasında başarısız oldunuz. – Oded