Почему свойство реализации в VB.NET должно иметь соответствующие спецификаторы ReadOnly?

Следующее работает в C #:

interface I
{
    int X { get; }
}

class C : I
{
    public int X
    {
        get { ... }
        set { ... }
    }
}

Следующее не работает в VB.NET:

Interface I
    ReadOnly Property X As Integer
End Interface

Class C
    Implements I

    Public Property X As Integer Implements I.X
        Get
            ...
        End Get
        Set(value As Integer)
            ...
        End Set
    End Property
End Class

] Сообщение об ошибке Реализующее свойство должно иметь соответствие спецификаторам 'ReadOnly' или 'WriteOnly' довольно очевидно, так что я знаю, что здесь не так. Это тоже не большая проблема, потому что это ограничение довольно легко обойти.

Мне любопытно: кто-нибудь знает, почему разработчики VB решили рассматривать этот случай иначе, чем в C #?

5
задан Heinzi 20 July 2011 в 15:12
поделиться