【发布时间】:2011-12-30 12:58:40
【问题描述】:
我有一个由两个程序集组成的 winform 应用程序:一个业务层和一个前端层。每个用户控件(前端层)都与业务层的一个类相关,即 CustomerUserControl 使用 Customer 类。
可编辑属性,即 Customer.Name,具有公共设置器,因此可以通过前端控件修改其值。
我的问题是:是否可以更改属性的 setter 可访问性,使其或多或少地限制特定类。在我的示例中,Customer.Name 设置器将是内部的,前端控件无法访问,但其对应的控件 CustomerUserControl 可以访问。否则,setter 将是公共的,但不能被 CustomerUserControl 以外的控件访问。
是否可以实现这样的自定义访问权限?
【问题讨论】:
-
您是否考虑过不可变或可冻结的结构?
-
请不要在标题前加上“C#”。我们在Stack Overflow 上使用标签。
-
@asawyer:你是说传递一个元组吗?
-
@jolySoft 我想也许一个不可变的样式对象可以完全回避这个问题。
-
@Anne-Christine:你为什么不接受一个答案,奥利弗的最完整?
标签: c# .net access-modifiers