“ひ to り go と” = zumuya の人が記事を書く所

呼び出し元のメソッド名を取得

MacDev

あるメソッドを呼び出すメソッドの名前(または setter のプロパティ名)を使用したいことがときどきある。手動で文字列を渡すのも面倒なのでそれを自動化する方法。

Swift

これは知ってた。

func printCallerMethodName(callerMethodName: String = #function)
{
    print("callerMethodName: \"\(callerMethodName)\"")
}
func awesomeMethod()
{
    printCallerMethodName()
}
Code
callerMethodName: "awesomeMethod()"
Output

C#

ずっと C# でも同じようなことをしたくて、最近になってついに知ったから記事にするのだ。Swift でのやり方とペアで書いておけば検索しやすいだろうし。

void PrintCallerMethodName([CallerMemberName] string callerMethodName = null)
{
    Console.WriteLine($"callerMethodName: \"{callerMethodName}\"");
}
void AwesomeMethod()
{
    PrintCallerMethodName();
}
Code
callerMethodName: "AwesomeMethod"
Output

名前問題

Others

自分だったらブランドを立ち上げるときなんて何度も何度も Google 検索しながらかぶらない名前を探すのだが...