gpt4 book ai didi

c# - 在不接触类的情况下添加属性? (不是继承)

转载 作者:太空狗 更新时间:2023-10-30 00:35:52 25 4
gpt4 key购买 nike

我的项目中有一项要求,即向某个类添加另一个属性。现在我想避免更改类,因为我认为它不应该知道他有这个属性(这个属性只在这个项目的上下文中有意义)。

我想完成这个的方法是(请批评这个因为我想知道是否有更简单的方法来做到这一点)

  1. 添加一个新的单例类,该类在我的类的对象和我要添加的属性类型之间具有映射
  2. 在此类中添加一个扩展方法(扩展属性?)以访问映射并获取属性。

有没有更简单的选择?这只是不必要的复杂性吗?也许我应该向我的类(class)添加一个新属性?

谢谢!

最佳答案

您描述的设计实际上是 Microsoft 用于实现 DependencyProperty 系统的设计,特别是 Attached Properties ,尽管是在绑定(bind)框架的更大背景下。也就是说,当您需要为特定用途标记具有附加上下文的类,但又不想修改该类时,使用带有“附加”数据的字典是一种非常典型的解决方案。

关于c# - 在不接触类的情况下添加属性? (不是继承),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3378321/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com