: 두 방법은 같은 매개 변수를 사용하기 때문에제네릭 메서드 서명을 해결하는 동안 제약 조건을 고려합니까? 이 가정
public class GenericMethods
{
public T Method<T>() where T : struct
{
// Do something specific to a struct
}
public T Method<T>() where T : class
{
// Do something specific to a class
}
}
는, 컴파일시에 어떻게 든 유효하지 않습니다. 그러나 제약 조건들이 상호 배타적이기 때문에 두 가지 방법이 충돌 할 순간이 정말로있을 것입니까? 소프트웨어가 두 가지 방법 중 하나를 선택할 수 없다는 T를 해결하는 동안 가능할 수 있습니까?
제네릭 형식이 구조체 또는 클래스 인 경우 다른 이름과 매개 변수가있는 두 가지 일반 메서드를 만드는 방법은 무엇입니까?
당신은 모든 것을 읽지 않았습니다. 나는 그것이 유효하지 않다는 것을 안다, 나는 그것이 컴파일되지 않는다는 것을 안다. – LightStriker
@ Marc-AndréJutras 두 가지 버전을 만들 수는 없지만 컴파일러는 실제로 이것을 보지 않으며 런타임에서 지원하지 않습니다. 그것이 이론적으로 가능할 수 있지만 * 이런 식으로 쓰여질 수는 있지만, 그렇지 않았습니다. –
그래서 "제네릭 형식이 구조체 또는 클래스 인 경우 다른 이름과 매개 변수의 두 가지 일반 메서드를 만드는 방법은 무엇입니까?" 불가능하다, 그렇지? – LightStriker