只读与程序集中的属性问题/难题
如何在程序集 (DLL) 外部为使用 DLL 的人员设置“只读”属性,但仍然能够从程序集中填充该属性以供他们读取?
例如,如果我有一个 Transaction 对象,需要填充 Document 对象中的属性(这是 Transaction 类的子类) )当 Transaction 对象中发生某些事情时,但我只想使用我的 DLL 的开发人员只能读取该属性而不能更改它(它只能从 DLL 本身内部更改)。
How can I make a Property "ReadOnly" outside the Assembly (DLL) for people using the DLL but still be able to populate that property from within the assembly for them to read?
For example, if I have a Transaction object that needs to populate a property in a Document object (which is a child class of the Transaction class) when something happens in the Transaction object, but I just want to developer using my DLL to only be able to read that property and not change it (it should only be changed from within the DLL itself).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
C#
VB
C#
VB
如果您使用 C#,您可以在
get
和set
上使用不同的访问修饰符,例如,以下内容应该可以实现您想要的:VB.NET 也具有此功能:< a href="http://weblogs.asp.net/pwilson/archive/2003/10/28/34333.aspx" rel="nofollow noreferrer">http://weblogs.asp.net/pwilson/archive/2003 /10/28/34333.aspx
If you're using C# you can have different access modifiers on the
get
andset
, e.g. the following should achieve what you want:VB.NET also has this capability: http://weblogs.asp.net/pwilson/archive/2003/10/28/34333.aspx
C#
VB
C#
VB
什么语言? 在 VB 中,您将 setter 标记为 Friend,在 C# 中,您使用内部。
What language? In VB you mark the setter as Friend, in C# you use internal.