我想傳遞一個值調用一個函數,但要忽略真正將其添加爲參數時。自動傳遞自己的類型,函數調用
更準確地說我想寫也打印哪一類稱爲日誌記錄功能,但不希望總是通過一個「本」作爲一個參數的記錄器。
示例代碼:
class static Logger{
public static void LogMsg(string msg, object objectCalling){
Print(objectCalling.GetType().Name + ": " + msg);
}
private void Print(string msg){
// print it
}
}
class SomeClass{
private void WriteTestLog() {
Logger.LogMsg("Testing!");
}
}
這應該然後創建等的輸出: 「SomeClass的:測試」
我不知道該如何處理這個也許我只是缺少某事。
最接近你可以*可靠*是與CallerMemberInfo屬性。請參閱https://stackoverflow.com/questions/171970。 (你可以得到堆棧跟蹤,但是在內聯中這是不可靠的,並且性能受到影響。) –