【unity】nameof超便利! C# 6.0【c#】

unity:総合

nameof 演算子

C#6で、nameof 演算子が追加されましたが、これが超便利!

もちろんunityでも使うことができます。

※unityのc#6対応についてはこちらに記述されています

C#6.0時代のUnity

 

C# 6 で、nameof 演算子(nameof operator: “name of X” (Xの名前)を1キーワード化したもの)というものが追加されました。 変数や、クラス、メソッド、プロパティなどの名前(識別子)を文字列リテラルとして取得できます。

 

・サンプルコード

using System;
class MyClass
{
public int MyProperty => myField;
private int myField = 10;
public void MyMethod()
{
var myLocal = 10;
Console.WriteLine(nameof(MyClass));
Console.WriteLine(nameof(MyProperty) + " = " + MyProperty);
Console.WriteLine(nameof(myField) + " = " + myField);
Console.WriteLine(nameof(MyMethod));
Console.WriteLine(nameof(myLocal) + " = " + myLocal);
}
}

 

・結果

MyClass
MyProperty = 10
myField = 10
MyMethod
myLocal = 10

 

変数名などを文字列として取得できるので、変数名をそのままPlayerPrefsのキーとしたり、Dictionaryのキーとしたりできます。

また、リファクタリングした時にも自動で置き換わるので便利です。

みんなも使おう nameof。