추상 (MustOverride) 속성 인 개인용 또는 보호용 "Setter"를 갖고 싶습니다. 나는 C#에서 VB로 그리고 C#에서 몇몇 코드를 이식하고있다. 이것은 매우 간단하다. VB에서별로 (별로 어쨌든).MustOverride 속성에 대한 비공개 또는 보호 집합
일부 코드 ... C#에서
... VB에서
public abstract class BaseClassWithAnAbstractProperty
{
public abstract int AnAbstractIntegerProperty { get; protected set; }
}
public class Foo : BaseClassWithAnAbstractProperty
{
private int _anAbstractIntegerPropertyField = 0;
public override int AnAbstractIntegerProperty
{
get { return _anAbstractIntegerPropertyField; }
protected set { _anAbstractIntegerPropertyField = value; }
}
}
...
이Public MustInherit Class BaseClassWithAnAbstractProperty
Public MustOverride Property AnAbstractIntegerProperty() As Integer
End Class
Public Class Foo
Inherits BaseClassWithAnAbstractProperty
Private _anAbstractIntegerPropertyField As Integer
Public Overrides Property AnAbstractIntegerProperty As Integer
Get
Return _anAbstractIntegerPropertyField
End Get
Protected Set(ByVal value As Integer)
_anAbstractIntegerPropertyField = value
End Set
End Property
End Class
문제가 없다는 것으로 보인다 살 아웃 가져 오기/선언에 구체적인 사항을 설정하십시오.
유령을 쫓고 있습니까?
기록을 위해
가능한 중복이 기능을 지원하지 않습니다 [ Protected 인터페이스에서 정의 된 속성에 대한 VB.Net에서 설정] (http://stackoverflow.com/questions/2362381/protected-set-in-vb-net-for-a-property-defined-in-an-interface) –
나는 그것이 중복이라고 생각하지 않는다. 질문은 다릅니다. 답은 두 가지 질문에 모두 적용됩니다. –