Концептуально, нет причин, по которым vb.net не может предложить аналогичную функцию и генерировать два (или даже три) разных свойства, как требуется для реализации интерфейсов. По крайней мере, в настоящее время, если член класса vb.net помечен как реализующий член интерфейса, ожидается, что он будет идеально соответствовать члену без переноса.

связано сэтот другой вопрос)

Если вы определяете интерфейс, в котором есть свойство только с геттером (= ReadOnly в VB.NET),почему вы можете определить сеттер в реализации классов с C #, но не с VB ?

Я бы подумал, что это определено на уровне .NET, а не для конкретного языка.

Пример: для этого интерфейса

'VB.NET
Interface SomeInterface

    'the interface only say that implementers must provide a value for reading
    ReadOnly Property PublicProperty As String

End Interface

или же

//C# code
interface IPublicProperty
{
    string PublicProperty { get; }
}

Это правильная реализация в C #:

public class Implementer:IPublicProperty
    {
        private string _publicProperty;

        public string PublicProperty
        {
            get
            {
                return _publicProperty;
            }
            set
            {
                _publicProperty = value;
            }
        }
    }

Но это недействительно в VB.NET

Public Property PublicProperty As String Implements SomeInterface.PublicProperty
    Get
        Return _myProperty
    End Get
    Set(ByVal value As String)
        _myProperty = value
    End Set
End Property

ОБНОВЛЕНИЕ 2015/04/23

Оказывается, эта функция входит в состав VB14! ВидетьЯзыковые особенности в C # 6 и VB 14 а такжеНовые возможности языка в Visual Basic 14 :

Свойства интерфейса ReadOnly могут быть реализованы реквизитами ReadWrite. Это очищает причудливый угол языка. Посмотрите на этот пример:

Interface I
    ReadOnly Property P As Integer
End Interface


Class C : Implements I
    Public Property P As Integer Implements I.P
End Class

Раньше, если вы реализовывали свойство ReadOnly I.P, вам также приходилось реализовывать его с помощью свойства ReadOnly. Теперь это ограничение было ослаблено: вы можете реализовать его с помощью свойства чтения / записи, если хотите. Этот пример реализует его с помощью чтения / записи autoprop, но вы также можете использовать свойство с getter и setter.

Ответы на вопрос(2)

Ваш ответ на вопрос