|
|
1
30
你能加一个重载吗?一个签名没有ref参数,另一个签名有ref参数。
参考参数
|
|
|
2
13
也许使用 重载函数 5%病例 另一个函数保持不变。 不必要的ref参数可能会导致糟糕的设计模式,但如果您有特定的需求,则 没问题 做这件事。 |
|
|
3
5
如果将.NET框架作为人们对API的期望的晴雨表,那么请考虑几乎所有的字符串方法。 返回修改后的值 ,但保持传递的参数不变。例如,String.Trim()返回经过修剪的字符串-它不会修剪作为参数传入的字符串。 现在,很明显,只有当您愿意将返回值放入API中时,这才是可行的。另外,如果您的函数已经返回了一个值,那么您就有可能创建一个包含原始返回值和新更改的对象的自定义结构。
|
|
|
4
4
A.
然而,它可能会引起社会问题。具体来说,API的客户端可能不希望
对人类用户来说是显而易见的。 |
|
5
2
可以考虑的一件事是减轻你对未来的恐惧
只是一个想法。 编辑:修复了代码。我的错。 |
|
|
6
1
使用我能想到的ref参数并没有什么错,事实上它们有时非常方便。我认为他们有时会因为调试而受到不好的批评,因为变量的值可能会在代码逻辑中发生变化,有时很难跟踪。当转换到像WebService这样只传递“值”就足够的服务时,这也会使事情变得困难。 |
|
|
7
1
关于ref参数,我遇到的最大问题是它们使使用类型推断变得困难,因为有时必须显式声明用作ref参数的变量的类型。
例如。字典中的TryGetValue从
到
http://blogs.msdn.com/jaredpar/archive/2008/10/08/functional-c-providing-an-option-part-2.aspx |
|
|
8
1
如果仍然希望使用ref,但希望使其成为可选的,请添加函数重载。 |
|
|
9
1
ref只是一个工具。你应该想一想:对于我正在构建的东西,什么是最好的设计模式?
|
|
|
10
0
如果您的方法在5%的时间里只需要这个ref参数,那么您可能需要分解这个方法。当然,没有更多的细节,这很难说,但在我看来,这似乎是一个违反单一责任原则的案例。也许超载会有所帮助。
|
|
|
11
0
这是F#或其他函数式编程语言通过返回元组值更好地解决的问题之一。它的语法更加简洁明了。在我正在读的关于F#的书中,它实际上指出了使用ref的C#等价于在C#中做同样的事情来返回多个参数。
|
|
|
12
0
在我看来,带有单个引用参数的void返回函数确实很有趣。如果我正在查看这段代码,我建议重构BeforeSave()以包含对Repository.Save()的调用——显然是重命名它。为什么不使用一种方法来获取可能的新实体并保证所有内容都正确保存?调用方无论如何都不会对返回的实体执行任何操作。 |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |