【发布时间】:2010-07-24 19:54:23
【问题描述】:
我想要一个私有或受保护的“Setter”用于一个也恰好是抽象的属性(MustOverride)。我正在将一些代码从 C# 移植到 VB,而在 C# 中,这非常简单。在 VB 中没有那么多(无论如何对我来说)。
一些代码...
在 C# 中...
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; }
}
}
在 VB 中...
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
问题似乎是无法充实声明中的 Get/Set 细节。
我是在追鬼吗?
【问题讨论】:
-
我不认为它是重复的。问题是不同的。恰好答案对这两个问题都有效。
标签: vb.net properties abstract