абстрактная явная интерфейсная реализация в C#

Когда вы формируете последовательность, например,

($b/HolidayEndDate,
                                  $b/HolidayType,
                                  $b/FirstName,                                                 
                                  $b/AllowanceRemainingDays,
                                  $b/HolidayStartDate,
                                  $b/EmployeeId,
                                  $b/AllowanceDays,
                                  $b/LastName,
                                  $b/HolidayDurationDays
                                  )

любой $b/foo, который не существует, не будет производить значение. Вы должны будете использовать, например, string($b/foo) для всех этих выражений для вывода пустой строки для тех foo элементов, которые не существуют.

28
задан Marc Gravell 27 April 2009 в 20:28
поделиться

1 ответ

Интересно - я не уверен, что ты сможешь. Однако, если это ваш реальный код, хотите ли вы когда-нибудь реализовать неуниверсальный метод GetEnumerator () каким-либо образом , кроме , не вызывая универсальный код?

I ' сделаем это:

abstract class MyList<T> : IEnumerable<T>
{
    public abstract IEnumerator<T> GetEnumerator();

    IEnumerator IEnumerable.GetEnumerator() 
    {
        return GetEnumerator();
    }
}

Это избавит вас от утомительной необходимости реализовывать его в каждом производном классе - который, несомненно, будет использовать одну и ту же реализацию.

35
ответ дан 28 November 2019 в 03:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: