Обобщенные методы доступа свойств

203
07 сентября 2018, 04:10

Вот что пишет Рихтер:

Я понял это так:

public class ClassB<T> 
{
    private T m_field;
    public T Field
    {
        get {
            return m_field;
        }
        set {
            m_field = value;
        }
    }
}

Но такой код работает. Что тогда в этом абзаце имелось ввиду?

Answer 1

В приведенном коде, в свойстве Field используется тип T указанный в классе ClassB<T>.

В тексте же речь шла про собственный параметр типа:

public class ClassB<T> 
{
    private T m_field;
    public U Field<U>
    {
        get {
            return default(U);
        }
    }
}

И в этом случае компилятор выдаст ошибку:

CS7002: Unexpected use of a generic name

CS7002: Неожиданное использование универсального имени

READ ALSO
Преобразование Bitmap ресурса в ImageSource

Преобразование Bitmap ресурса в ImageSource

Имеется Bitmap ресурс PropertiesResources

235
Методы в потоках Net

Методы в потоках Net

Выполнится ли метод в том же потоке где была вызвана?

190
c# Время по оси x в chart

c# Время по оси x в chart

Мне нужно чтоб по оси x выводилось время в формате (часы:минуты:секнуды)

311
Определить пересекаются ли отрезки в c# (Unity3D)

Определить пересекаются ли отрезки в c# (Unity3D)

У меня есть два отрезка, знаю координаты точек на их концах, нужно определить пересекаются ли отрезки и гдеЖелательно встроенный в C# или...

181