は、Tを使用するメソッドを持つクラスがあるとします。同じ名前の標準メソッドもあります。ジェネリックメソッドシグネチャと標準シグネチャが同じ
Tが標準の方法と同じ種類の場合はどうなりますか?標準的なメソッドが呼び出されます。
とにかく彼にT-メソッドを強制的に呼び出させる方法はありますか?システムを使用して
。
namespace ConsoleApplication3
{
class Program
{
static void Main()
{
Generics<Int32> anInt = new Generics<Int32>(4);
Generics<String> aString = new Generics<String>("test");
}
}
public class Generics<T>
{
public T Member;
public String ErrorMessage;
public Generics(T member)
{
this.Member = member;
}
public Generics(String errorMessage)
{
this.ErrorMessage = errorMessage;
}
}
}
[こちら]をチェックしましたか(http://blogs.msdn.com/b/jaredpar/archive/2008/04/14/gotcha-generic-overload-resolution-whe n - generically.aspx)アウト? – sq33G
同じ名前のメソッドがすでに存在することがわかっている場合は、メソッドの名前を変更する必要があります。コードを継承している別のプログラマを想像してください。 – Sayse
ありがとう、sq33G、今私はそれを回避する方法を理解しています。 私の場合私は少し違って行った。私はGenericから派生し、それを正しく処理するコンストラクタを書いてくれました。 –