私はこのクラスを持っています:
public class Person
{
public string Name { get; set; }
public uint Age { get; set; }
public override string ToString()
{
return String.Format("({0}, {1})", Name, Age);
}
}
拡張メソッド:
public static string Format(this string source, params object[] args)
{
return String.Format(source, args);
}
そして私はそれをテストしたいのですが、私は次の奇妙な振る舞いをしています:
Person p = new Person() { Name = "Mary", Age = 24 };
// The following works
Console.WriteLine("Person: {0}".Format(p));
Console.WriteLine("Age: {0}".Format(p.Age));
// But this gives me a compiler error:
Console.WriteLine("Name: {0}".Format(p.Name));
コンパイラエラー:
インスタンスへの参照を使用してメンバー'string.Format(string、params object [])'にアクセスできません。タイプ名で修飾します。
なんで?どうすればこの問題を解決できますか?