aşağıdaki çalışır:VB.NET'te bir uygulama özelliğinin neden 'ReadOnly' belirticileriyle eşleşmesi gerekir? C#
interface I
{
int X { get; }
}
class C : I
{
public int X
{
get { ... }
set { ... }
}
}
VB.NET çalışmaz aşağıdadır:
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
hata mesajı Implementing property must have matching 'ReadOnly' or 'WriteOnly' specifiers
yeterince açıklayıcı, bu yüzden burada yanlış olduğunu bilirim. Aynı zamanda büyük bir sorun değil, çünkü bu sınırlama etrafında çalışmak oldukça kolay.
Yine de merak ediyorum: VB tasarımcılarının neden bu davayı C# 'dan farklı olarak tedavi etmeye karar verdiklerini bilen var mı?
Arayüzünüzün C sürümünde mülkünüzde salt okunur göremiyorum? – Nikki9696
@ Nikki9696: C# sürümündeki bir ayarlayıcının olmaması temelde eşdeğerdir. –
@ Nikki9696 Bu ima edildi. Fark, olması gerekmiyor. Ama, Heinzi, açıkça VB.NET arabirim sürümünde belirtin, bu yüzden bu oldukça büyük bir fark. –