제네릭과 그 적절한 선언/사용에 관해서도 여전히 문제가 있습니다. 나는 전제를 얻었지만, 제네릭의 ins-n-out의 일부는 여전히 나를 피한다.모름없이 매개 변수로 제네릭 타입을 지정하십시오. T
다음 코드 (컴파일 및 코드 냄새 포함되지 않음)을 감안할 때 : 왜이를 지정해야합니까
- :
public interface IUIConcern<out T> where T : IUIConcernExtension { string Name { get; } Func<T> Extend(); } public class UIConcern { public static void Register<T>(string concernName, IUIConcern<T> uiConcern) where T : IUIConcernExtension { Concerns.Add(uiConcern); } public static List<IUIConcern<T>> Concerns{ get { // Logic... } set { // Logic... } } }
... 나는 몇 가지 질문을 부품
public static void Register<T>(string concernName, IUIConcern<T> uiConcern) where T : IUIConcernExtension
이미 제약이있는 경우 - 어떻게 작성해야합니까? 나는 이 내
IUIConcern<T>
을 모르는 채T
을 모르는 것이고IUIConcernExtension
에서 파생된다는 것을 알고 있습니까?
다시 컴파일해야하며 올바르지 않습니다. IUIConcern<>
요소가 여러 가지 일 수있는 일반적인 항목의 목록을 어떻게 보관할 수 있는지 알고 싶습니다.
감사합니다.