에는 T를 사용하는 메서드가있는 클래스가 있다고 가정합니다. 같은 이름의 표준 메서드도 있습니다.Generics 메서드 서명과 표준 서명이 동일합니다.
T가 표준 방법과 동일한 유형 일 경우 어떻게됩니까? 표준 메소드가 호출됩니다.
어쨌든 T- 메소드를 강제로 호출 할 수있는 방법이 있습니까?
using System;
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;
}
}
}
[this] (http://blogs.msdn.com/b/jaredpar/archive/2008/04/14/gotcha-generic-overload-resolution-whe)을 확인 했습니까? n - generically.aspx) 아웃? – sq33G
같은 이름의 메소드가 이미 존재하는 경우 메서드 이름을 변경해야하며 다른 프로그래머가 코드를 상속한다고 상상해보십시오. – Sayse
고마워, sq33G, 지금은 그것을 우회하는 방법을 이해합니다. 제 경우 저는 조금 다르게갔습니다. 나는 Generic에서 파생되었고 나를 올바르게 처리하는 생성자를 썼다. –