当前位置:  开发笔记 > 编程语言 > 正文

通过引用传递引用类型以指示它将被修改

如何解决《通过引用传递引用类型以指示它将被修改》经验,为你挑选了1个好方法。

我在我们的应用程序中找到了一些代码,它通过List引用来表明它已被修改:

void DoSomething(ref List theList)
{
    theList.Add(new MyType());
}

我认为很明显ref-keyword在这种情况下已经过时了,因为我们还可以在没有关键字的情况下向列表中添加新元素.但是它表明我们修改了列表或至少修改了它的元素.我发现如果你有很多参数并希望看到哪些参数被修改以及哪些只是作为值来传递,那么这个特别有用.

如果这是好的问题肯定是基于意见的,对SO来说是无效的,我宁愿问是否有另一种方法来实现这一点,或者我是否应该关心它.

编辑:稍微澄清一下我的问题.如果列表被修改,则不会出现此问题,这只是一个示例.或者我也使用任何其他参考类型,而不仅仅是List.



1> Patrick Hofm..:

但是它表明我们正在更改列表.

不,不是的.它表示可以更改参考.使用ref关键字作为"标识符",我认为可能会发生变化,因为它打开了您可能不想要的大门.

我建议调查面向方面的编程,你可以为方法参数赋值.从新的Roslyn编译器及其代码分析服务,您甚至可以检查代码是否违反了给定的主体.

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有