Я пытаюсь реализовать интерфейс, требующий отдельного свойства, но мне все равно, какой это тип. Например:
public interface IName
{
dynamic Name {get; set;}
}
Тогда, если у меня есть класс, я бы хотел реализовать интерфейс IName с типом строки:
public class Person : IName
{
public string Name {get; set;}
}
Это, однако, вызывает ошибку. Я знаю, что мог бы заставить интерфейс IName принять общий аргумент IName<T>
, но это вынуждает меня создавать группу перегруженных функций, которые принимают IName<string>
, IName<NameObj>
, IName<etc>
вместо приведения внутри одной функции.
Как я могу требовать, чтобы класс содержал свойство?