1
14
不可以。您只能提供 C#中带有参数的属性,用于建模索引访问(如在字典中):
其他属性不能有参数。改用函数。顺便说一下,建议在VB中也这样做,以便其他.NET语言(C#)可以使用您的代码。
|
2
4
|
3
4
然后,您可以在公共类中实现任意数量的属性,以便客户端可以使用索引、描述符、安全密钥或其他类似的内容设置/获取属性,如下所示:
最后,客户端代码将访问公共类的“参数化”属性,如下所示:
当然,这看起来很奇怪,但它确实起到了作用。此外,从客户端代码的角度来看,它一点也不奇怪——它简单直观,就像真实的属性一样。它不会违反任何C#规则,也不会与其他.NET托管语言不兼容。从类实现者的角度来看,创建一个可重用的、通用的、“参数化”属性模板类使组件编码变得相对轻松,如图所示。 注意:您始终可以重写泛型属性类以提供自定义处理,例如索引查找、安全控制的属性访问或任何您想要的。 干杯 马克·琼斯 |
4
3
以下是一个示例(根据Grauenwolf的建议进行了更改):
|
5
0
你的财产也会归还
|
6
0
谢谢康拉德,艾伦,格劳恩沃尔夫, 总之,我不能完全像在VB.NET中那样使用C#属性…:_(不管怎样,你的回答对我很有用,我可能会把这些想法带到我的C#code中。 除了属性问题的答案外,还有其他优点。例如
|
Karl · 如何引发PrintPage的事件? 2 年前 |
Daniel · LINQ从列表的dataTable中提取部分匹配 2 年前 |
limelatte · 如何在datagridview中屏蔽特定列? 2 年前 |
Orsi · 选择嵌套列表的最大值和最小值。网 2 年前 |
D T · 如何为Excel Com设置公式? 2 年前 |
Lenin · 将数组中的每个元素与另一个数组中的相应元素相乘 2 年前 |