Tôi nhận thấy rằng .NET 4.5 có một thuộc tính mới được gọi là [CallerMemberNameAttribute], khi được gắn với tham số của phương thức, sẽ cung cấp tên chuỗi của phương thức được gọi là phương thức (nếu điều đó có ý nghĩa).C# Gọi phương thức mà không có dấu vết ngăn xếp
Tuy nhiên, thật không may (vì tôi muốn làm điều gì đó với XNA), tôi chỉ nhắm mục tiêu .NET 4.0.
Tôi muốn để có thể làm điều gì đó như:
void MethodA() {
MethodB();
}
void MethodB() {
string callingMethodName = (...?);
Console.WriteLine(callingMethodName);
}
ở đâu ra tôi sẽ MethodA.
Tôi biết tôi có thể làm điều này thông qua theo dõi ngăn xếp, nhưng đó là a) Không đáng tin cậy và b) Sloooow ... Vì vậy, tôi tự hỏi nếu có bất kỳ cách nào khác để thu thập thông tin đó, tuy nhiên có thể ...
Tôi đã hy vọng cho bất kỳ ý tưởng hoặc kiến thức mà bất cứ ai có thể có về vấn đề này. Cảm ơn trước :)
Chuyển tên gọi phương thức làm chuỗi? – Oded
@Oded Vâng có rõ ràng tôi có thể gọi MethodB ("MethodA") nhưng điểm là tôi đang cố gắng để làm điều đó tự động, vì vậy nếu tôi thay đổi MethodA để MethodC tôi không phải chỉnh sửa cuộc gọi đó là tốt. – Xenoprimate
Bạn không thể thực hiện được điểm đó trong câu hỏi. – Oded