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
"Т" "Тип параметра" и не действует в данном контексте
Когда вы говорите, что эта линия не работа, какое точное сообщение об ошибке и/или исключение вы видите на этой строке? –
Кто проголосовал за этот вопрос? Мне кажется, это очень хорошо представлено мне. OP говорит, что он только начинает с дженериков, поэтому это разумный вопрос. – Enigmativity
Извините @JohnHodge, я добавил сообщение об ошибке –