Могу ли я наследовать универсальный класс от универсального типа T? Нравится MyClass <T>: T - PullRequest
3 голосов
/ 27 апреля 2011

То, чего я хочу достичь, это что-то вроде этого ниже, на что жалуется Visual Studio, и я не знаю, как этого добиться:

public abstract class My_BaseControl<T> : T, IRightBasedUsability
        where T : System.Web.UI.WebControls.WebControl 
{

    // Some methods that I want to have for all 
    //the extended asp.net controls along my application
    //which implements IRightBasedUsability

}

Ответы [ 2 ]

3 голосов
/ 27 апреля 2011

Возможно, методы расширения c # в этом случае - способ решения вашей проблемы.

@ see http://msdn.microsoft.com/en-us/library/bb383977.aspx

Эрик Де Каруфель написал несколько интересных статей о методах расширения и о том, как управлять ихобласть применения: http://blog.decarufel.net/2009/02/extension-methods-series-managing-scope.html

1 голос
/ 27 апреля 2011

Вы вообще не можете наследовать от несуществующего типа, нет; это то, что вы будете делать с кодом, который вы показали.

Самое близкое, что вы можете получить, это наследовать от класса в вашем предложении where T. Во всяком случае, эффект не будет сильно отличаться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...