问题标签 [method-parameters]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1214 浏览

ios - 应该如何处理特定于 iOS 版本的 UIApplicationDelegate 协议方法参数类型?

在 iOS 12 中,UIApplicationDelegate 协议定义:

而在以前的 iOS 版本中,这是定义的:

这些定义在 restoreHandler 的参数类型上有所不同。因此,在 Xcode 10 中,我们现在收到警告:

'application:continueUserActivity:restorationHandler:' 实现中的参数类型冲突:'void (^ _Nonnull __strong)(NSArray> * _Nullable __strong)' vs 'void (^__strong _Nonnull)(NSArray *__strong)'

我仍在处理可能在 iOS 12 之前发布的更新,但我也在为支持 iOS 12 奠定基础。我不确定如何处理跨多个 iOS 版本的不同参数类型。

通常在一个方法中,我会使用 @available 之类的东西来根据运行时检测到的 iOS 版本来分支代码,但在这种情况下,我不知道最佳实践是什么。我当然不想为此大惊小怪!我是否应该避免更改任何内容并接受警告,直到 Xcode 10 结束测试版并且我正在提交 iOS 12?那么它会在运行时向后兼容较小的 iOS 版本吗?

感谢您的任何帮助!

0 投票
2 回答
6837 浏览

java - 在方法中(在 Java 中)改变对象参数是一种不好的做法吗?

我有一个关于在方法中改变方法参数(它们是对象)的问题。

我多次阅读并听到,在作为参数传入的方法中改变对象是一种不好的做法。例如:

相反,应该复制传入的 Object,应对复制的对象执行突变,并返回复制的对象。例如:

我知道第二种方法产生副作用的可能性较小,因为它不会改变输入参数。

但这真的是要走的路吗?由于必须创建大量深层副本,因此性能会受到影响。此外,实现 Copy-Constructors 并为所有类实现克隆方法将花费大量时间。它也会极大地增加 LOC。

在实践中,我不经常看到这种模式(复制方法参数)。

有很多经验(作为程序员/软件开发人员工作多年)的人可以回答这个问题吗?

问候马弗林

0 投票
2 回答
43 浏览

java - 如何将数组中的元素设置为方法参数?

我有一个由许多对象(称为 drop)和另一个单独的对象(称为 greenDrop)组成的数组。我想一次比较 2 个对象,一个来自数组,另一个是单独的对象。要将数组和单独的对象设置为方法参数,代码如下:

我想知道是否可以在方法参数中设置数组的元素而不是使用整个数组?这样我就不必在我的方法中包含 for 循环。然后在main方法中调用方法如下:

0 投票
1 回答
106 浏览

c# - 在 C# 代码中使用参数调用 matlab 方法

我试图在我的 C# 代码中使用参数调用 matlab 方法。我使用反射在运行时将带有 matlab 函数的 dll 加载到我的应用程序中,效果很好:

dll 包含一种类型和一种功能:

我创建了一些数组并希望将它们作为参数传递给这个函数。为了使该类型MWArray在编译时可用于 C#,我将来自 Matlab 运行时的程序集“MWArray.dll”静态添加到我的项目中。

当我调用 invoke 方法时,我得到一个异常,即 anMWNummericArray无法转换为 anMWArray虽然MWNummericArray直接派生自MWArray. 我错过了什么还是我做错了?

0 投票
2 回答
844 浏览

java - 应使用 lambda 删除未使用的方法参数 (squid:S1172) 误报

我有一个使用参数作为 lambda 表达式的工作方法

因为p我收到了来自 SonarLint 的误报警告

如果我更改propp我收到编译错误

Lambda 表达式的参数 p 不能重新声明在封闭范围内定义的另一个局部变量

将方法参数用作 lambda 参数时是否存在真正的问题或误报检查?

0 投票
3 回答
69 浏览

flutter - 带参数调用的方法和不带参数调用的方法的区别

请问带参数调用的方法和不带参数调用的方法有什么区别示例:

和:

这两个语句在我的代码执行中具有不同的功能,_onLoginButtonPressed_onLoginButtonPressed()我的意思是,如果我能得到两者之间的区别,我会非常感谢,在此先感谢。

0 投票
1 回答
277 浏览

c# - C# - 类属性作为可变参数数量的方法

我有以下课程

CommonMethod() 对于此类的每个实例都是相同的,但我希望 SpecificMethod() 对于每个实例都不同。此方法应始终返回一个 int,但它可以采用 0、1 或 2 个参数(它们是它自己的 LowerBoundary 和 UpperBoundary 属性值)。

有没有办法做到这一点?由于参数的数量是可变的,我知道我不能让 SpecificMethod 成为 Func 属性。

0 投票
1 回答
95 浏览

powershell - Powershell函数调用将传递的字符串更改为int

所以我正在使用那种有问题的 Sapien powershell studio 来制作一个 powershell 驱动的 GUI 应用程序,并且我正在尝试执行 ADSI 查询。

$nameOfDeviceInput 是一个 System.Windows.Forms.TextBox

在一种形式上,我具有以下功能:

在“主”表单上,我有 FindInAD 函数

FindInAd() 失败,因为无论出于何种原因,$nameOfSystem 设置为 1,如果我没有将其显式转换为字符串,它会隐式转换为 Int32(显然)

我尝试了以下方法:

通过标注它所属的表单来完全限定文本框输入( $adObjectModifier )

将 $nameOfSystem 参数显式转换为 [string] 类型

将原始字符串从 AdObjectModifier 表单传递到 FindInAD。

当时输出管道上没有其他东西,(至少不是来自我)在方法调用之间。它是 EventHandler > 带有字符串参数的函数调用

为什么我传递的字符串变成了数字???

编辑:我认为我传递的参数正在以某种方式自动替换为结果布尔值,但这对我来说没有任何意义......

0 投票
1 回答
44 浏览

java - 使用与类型参数匹配的 Scanner.nextX 读取类型参数值列表

与此相关的帖子太多了,我认为参考它们不会有帮助,但是如果人们发现特别有用的帖子,将它们添加到这里会很棒。

整数出现在 4 个地方:

  1. 方法的名称
  2. ArrayList 返回类型的 Type 参数
  3. lst 的类型的 Type 参数
  4. 创建新列表的 Type 参数

到目前为止,一切都很好。然而,我的程序重复了这个方法四次(我敢肯定,还会有更多),每一次都有不同的类型参数和 Scanner 方法。(例如,ArrayList<Double>scnr.nextDouble()。)

我不怀疑我混淆了我使用过的许多其他语言的想法和技术,但是有什么方法可以概括这种方法,所以我可以告诉它我想要一个 ArrayList,比如说,Double,它应该使用 Scanner .nextDouble()?这个问题的两个部分是 (a) 传递 ArrayList 的类型参数和 (b) 传递要使用的 Scanner 方法。

我会选择一个方法,其中指定或推导类型参数,并有一个枚举参数来告诉扫描仪使用哪种方法,尽管两者是直接连接的。

0 投票
1 回答
70 浏览

c# - 将类型作为参数传递

我有一个方法,它采用某种继承类型的对象并在内部数据结构中搜索它......

所以上述方法的使用会是这样的:

在数据结构类中,我想利用搜索方法。但是,我不想创建所需数据项的实例(因为这会产生开销)——我只想将类类型作为值传递。目前,我正在创建一个数据项实例......

如何传递类类型本身?