2015-05-21 2 views
0

Я только начинаю с generics и задавался вопросом, как я могу получить доступ к T класса в методе класса? Давайте возьмем какой-то код, чтобы лучше объяснить, что я хочу сделать:C# access T общего класса по своему собственному методу

public class RegisterResult<T> where T : IRegisterable 
{ 
    public bool Success { get; set; } 
    public string Entity { get; set; } 
    public string ErrorMessage { get; set; } 

    //Want to avoid this, by using generics: 
    /*public static RegisterResult UserSuccess = new RegisterResult(true, "User", ""); 
    public static RegisterResult DeviceSuccess = new RegisterResult(true, "Device", ""); 
    public static RegisterResult DeviceDataSucces = new RegisterResult(true, "DeviceData", "");*/ 

    public RegisterResult(bool success, string errmsg) 
    { 
     this.Success = success; 
     //The following line does not work, so how can I reach that? 
     this.Entity = T.GetType().Name; 
     this.ErrorMessage = errmsg; 
    } 

} 

Спасибо большое за полезные и хорошо продуманные ответы!

UPDATE: ErrorMessage из Visual Studio

"Т" "Тип параметра" и не действует в данном контексте

+0

Когда вы говорите, что эта линия не работа, какое точное сообщение об ошибке и/или исключение вы видите на этой строке? –

+1

Кто проголосовал за этот вопрос? Мне кажется, это очень хорошо представлено мне. OP говорит, что он только начинает с дженериков, поэтому это разумный вопрос. – Enigmativity

+0

Извините @JohnHodge, я добавил сообщение об ошибке –

ответ

Смежные вопросы