// Summary:
// View component Builder base class.
public abstract class WidgetBuilderBase<TViewComponent, TBuilder> : IHtmlString, IHideObjectMembers
where TViewComponent : global::Kendo.Mvc.UI.WidgetBase
where TBuilder : global::Kendo.Mvc.UI.Fluent.WidgetBuilderBase<TViewComponent, TBuilder>
{
}
을 다음과 같이 내가 인터넷에서 서핑
public abstract class WidgetBuilderBase<TViewComponent, TBuilder>
내 다음 클래스에서이 클래스를 상속 할 보이는 DLL에서 클래스를 가지고 있지만 사이트에있는 대부분의 난 만족스런 대답을 얻지 못했습니다. 대부분은 일반적인 클래스를 상속받을 수 없다고 말합니다. 왜 제네릭 클래스를 상속받을 수 없는지.
나는
public abstract class WidgetBuilderBase<TViewComponent, TBuilder> : Kendo.Mvc.UI.Fluent.WidgetBuilderBase<TViewComponent, TBuilder>
{
}
코드
다음을 수행하려고하지만 오류 다음 날 수 있습니다.유형 'TBuilder'가 입력 매개 변수 일반적인 유형 'TBuilder'또는 방법 'Kendo.Mvc.UI.Fluent.WidgetBuilderBase'로서 이용 될 수 없다. 'TBuilder'에서 'Kendo.Mvc.UI.Fluent.WidgetBuilderBase'로 복싱 변환 또는 형식 매개 변수 변환이 없습니다.
TViewComponent에 대해 동일한 오류가 발생했습니다. 이 문제를 해결하는 방법 ... :(
제네릭 클래스를 상속에 어떤 도움의 형태 인수를위한 몇 가지 일반적인 제약이
아마도 파생 된 유형에 동일한 일반 제약 조건을 추가해야합니다 ... – horgh
하지만 런타임에 동적으로 만들고 싶습니다. –
동적으로하려면 어떻게합니까? 제네릭 클래스를 상속 할 때 제약 조건도 상속받습니다. – horgh