gpt4 book ai didi

c# - 在 C# 中实现只读(不可变)对象接口(interface)

转载 作者:行者123 更新时间:2023-12-04 22:53:54 25 4
gpt4 key购买 nike

我的目标是确保在大多数情况下,对象是通过作为完整接口(interface)子集的“只读接口(interface)”使用的。

  • 例如,如果我使用 C++,我将只返回 const目的。
  • 在 C# 中,如果我可以通过接口(interface)实现这一点,我只会实现一个只读接口(interface)并在任何地方使用它。但是,我需要运算符重载,这对于接口(interface)是不允许的。这就是为什么我必须使用抽象基类。
  • 但是如果我定义了一个抽象基类,我就不能改变派生类型的可访问性。

  • 那么,如何在 C# 中实现我的目标?

    最佳答案

    如果你把你的写操作放在一个接口(interface)中,然后在抽象基类上显式地实现呢?这不是一个 100% 完美的解决方案(您仍然可以将对象强制转换为修改接口(interface)),但在大多数情况下,它可以防止任何人意外调用修改方法。

    关于c# - 在 C# 中实现只读(不可变)对象接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/373064/

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