実行プロパティのプロパティ名を取得するにはどうすればよいですか。プロパティが "return"を使用する場合、 MethodBase.GetCurrentMethod()。Nameはプロパティの名前を返します。しかし、私が "yield return"を使うと、MethodBase.GetCurrentMethod()。Nameは "MoveNext"を返します。利回りを使用するときに実行プロパティ名を取得するにはどうすればよいですか?利回りを使用してプロパティ名を取得する方法
サンプルコード
class Program
{
static void Main(string[] args)
{
var x = myProgram.Something;
Console.ReadLine();
}
}
public class myProgram
{
public static IEnumerable<string> Something
{
get
{
string var = MethodBase.GetCurrentMethod().Name;
for (int i = 0; i < 5; i++)
{
yield return var;
}
}
}
}
の将来のバージョンでは動作しませんでしたか?私たちが必要性と文脈を理解すれば、おそらくあなたをより良く助けることができます。 – jason
あなたは何を達成しようとしていますか? – Lloyd
@ Jason、私はいくつかのユースケースを考えることができます。そのうちの1つがログに記録されます。良い質問です – kelloti