gpt4 book ai didi

c# - 限制 .NET 类型是否只能通过 ByVal 或 ByRef

转载 作者:太空宇宙 更新时间:2023-11-03 14:28:05 25 4
gpt4 key购买 nike

如果您在 .NET 中创建一个类,是否有任何方法对其进行限制,以便如果它被传递到某个方法(作为输入参数),则它只能通过引用传递或只能通过值传递?
我在想也许可以通过类的一个属性?

最佳答案

我认为答案是否定的,因为 ByVal 和 ByRef 是由方法做出的选择,而不是调用者或类型设计者。

但是,听起来您想要的是创建一个您知道不可变的类型?也许您想确定它永远不会被更改?那么你可以做的是以下之一(不是完整列表):

创建对象,以便您可以通过使用私有(private)、公共(public)、内部关键字等访问可设置的属性。

创建对象,以便您可以通过构造函数获得其内部状态的唯一方法。

实现一个接口(interface)并传递该接口(interface)而不是实现它的对象。该接口(interface)将设计为仅读取对象的内部状态。

防止任何人使用 sealed (C#) 或 NotInheritable (VB) 关键字派生对象。

关于c# - 限制 .NET 类型是否只能通过 ByVal 或 ByRef,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3362964/

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