원래 질문은 기본적으로 Constrain type to specific types과 동일 할 것입니다.공개 속성을 목록의 특정 유형으로 제한 <Type>
내가 성취하고자하는 것은 기본적으로 이것입니다.
위의 질문을 읽고 나면 분명히 불가능합니다.
컨텍스트에 대한 아이디어를 얻으려면 여러 유형 (특정 인터페이스를 구현할 경우)을 지원하도록 설계된 파서를 작성 중이지만 구문 분석 할 수있는 데이터 유형에 대한 컴파일 유형 가정을 작성하지 마십시오. 지원되는 유형의 목록이 제공되고 나머지는 자동으로 처리 할 수 있어야합니다.
기본적으로 내가 궁금해하는 것은 이러한 속성 (존재하는 경우)에 대한 대안 (속성이 설정된 경우 런타임 유형 검사 외에)이 무엇인가하는 것입니다.
편집 : 제안 된 해결책이 작동하지 않는 것 같습니다. 내가 코드와 끝까지
은 다음과 같습니다이 :
public class CustomSerializableTypeList<T> : List<T> where T : ITcpSerializable
{
}
CustomSerializableTypeList<Type> myCustomTypes = new CustomSerializableTypeList<Type>();
그리고 다음과 같은 오류가 나타납니다
The type 'System.Type' cannot be used as type parameter 'T' in the generic type or method 'CustomSerializableTypeList'. There is no implicit reference conversion from 'System.Type' to 'ITcpSerializable'.
오류가 한 번 나가보고 제네릭 구현에 대해 생각 완벽한 의미가 있습니다를 그 제안되었습니다.
이 문제를 해결하는 방법이 있어야합니다.
어떤 공공 목록에 대해 MyPublicProperty {얻을; 세트; } –
MattDavey
참고 : 특정 유형을 구현하는 인스턴스의 List를 제공하지 않을 것입니다. 특정 인터페이스를 구현하는 List of * Types *을 제공하고자합니다. –