ReadOnly vs大会问题/难题中的财产

Ric*_*chC 3 .net assemblies properties internal

如何为使用DLL的人在程序集(DLL)之外创建一个属性"ReadOnly",但是仍然能够从程序集中填充该属性以供他们阅读?

例如,如果我有一个Transaction对象需要在Transaction对象中发生某些事情时填充Document对象(它是Transaction类的子类)中的属性,但我只想开发人员使用我的DLL只是能够读取该属性而不是更改它(它应该只在DLL本身内更改).

Meh*_*ari 7

C#

public object MyProp {
   get { return val; }
   internal set { val = value; }
}
Run Code Online (Sandbox Code Playgroud)

VB

Public Property MyProp As Object
   Get
      Return StoredVal
   End Get
   Friend Set(ByVal value As Object) 
      StoredVal = value
   End Set
End Property
Run Code Online (Sandbox Code Playgroud)


Gre*_*ech 6

如果您使用C#,你可以有不同的访问修饰符getset,如下面要达到你想要什么:

public int MyProp { get; internal set; }
Run Code Online (Sandbox Code Playgroud)

VB.NET也具有此功能:http://weblogs.asp.net/pwilson/archive/2003/10/28/34333.aspx