问题标签 [methods]

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 投票
4 回答
3543 浏览

ruby - Ruby 中的方法访问

Ruby 是如何隐式地允许类外部的类访问方法的?

例子:

0 投票
16 回答
1241 浏览

c# - How to indicate that a method was unsuccessful

I have several similar methods, say eg. CalculatePoint(...) and CalculateListOfPoints(...). Occasionally, they may not succeed, and need to indicate this to the caller. For CalculateListOfPoints, which returns a generic List, I could return an empty list and require the caller to check this; however Point is a value type and so I can't return null there.

Ideally I would like the methods to 'look' similar; one solution could be to define them as

or alternatively to return a Point? for CalculatePoint, and return null to indicate failure. That would mean having to cast back to the non-nullable type though, which seems excessive.

Another route would be to return the Boolean boSuccess, have the result (Point or List) as an 'out' parameter, and call them TryToCalculatePoint or something...

What is best practice?

Edit: I do not want to use Exceptions for flow control! Failure is sometimes expected.

0 投票
4 回答
4882 浏览

java - 方法签名中的对象数组

考虑以下方法签名:

解释:前者接受一个 Foo 对象数组作为参数 - fooMethod(new Foo[]{..})- 而后者接受任意数量的 Foo 类型参数,并将它们呈现为方法内的 Foo:s 数组 - fooMethod(fooObject1, fooObject2, etc...)。

如果两者都被定义,Java 会抛出一个 fit,声称它们是重复的方法。我做了一些侦探工作,发现第一个声明确实需要一个显式的 Foo 对象数组,这是调用该方法的唯一方法。第二种方式实际上既接受任意数量的 Foo 参数,也接受一个 Foo 对象数组。

所以,问题是,由于后一种方法似乎更灵活,是否有任何理由使用第一个示例,或者我错过了什么重要的东西?

0 投票
10 回答
89620 浏览

ruby-on-rails - 如何找到在运行时定义方法的位置?

我们最近遇到了一个问题,在发生一系列提交后,后端进程无法运行。现在,我们都是好孩子,rake test每次签到后都会跑,但是由于 Rails 库加载的一些奇怪之处,只有当我们在生产模式下直接从 Mongrel 运行它时才会发生这种情况。

我跟踪了这​​个错误,这是由于一个新的 Rails gem 覆盖了 String 类中的一个方法,这种方式打破了运行时 Rails 代码中的一个狭窄用途。

无论如何,长话短说,有没有办法在运行时询问 Ruby 在哪里定义了一个方法?类似的东西whereami( :foo )回来了/path/to/some/file.rb line #45?在这种情况下,告诉我它是在 String 类中定义的将是没有帮助的,因为它被某个库重载了。

我不能保证源代码存在于我的项目中,因此 grepping for'def foo'不一定能给我我需要的东西,更不用说我是否有很多 def foo's,有时我直到运行时才知道我可能正在使用哪一个。

0 投票
6 回答
11680 浏览

java - 如何格式化具有大参数列表的方法

我从来没有见过一种很好地做到这一点的方法,我很想看看其他人是如何做到的。目前我像这样格式化它:

0 投票
2 回答
9493 浏览

c# - Asp.Net 静态刷新页面的方法

我有一个页面每 5 秒访问一次网络服务以更新页面上的信息。我正在使用 Ajax Control Toolkit 中的 DynamicPopulateExtender 来使用一些文本填充面板。

我想要做的是,如果满足某个条件,则完全刷新页面。

我能用我现有的方法做到这一点吗?这是我目前的东西:


ASP.NET

Javascript

服务器 (C#)

0 投票
8 回答
20815 浏览

performance - 使用静态方法与实例化包含方法的类的性能

我正在使用 C# 开发一个项目。以前的程序员不了解面向对象编程,所以大部分代码都在巨大的文件中(我们谈论的是大约 4-5000 行),分布在数十个甚至数百个方法中,但只有一个类。重构这样一个项目是一项艰巨的任务,所以我现在已经半学会了忍受它。

每当在其中一个代码文件中使用方法时,都会实例化该类,然后在对象实例上调用该方法。

我想知道这样做是否有任何明显的性能损失?我是否应该“暂时”将所有方法设为静态,最重要的是,应用程序会以任何方式从中受益吗?

0 投票
4 回答
26998 浏览

c# - 匿名方法 (C# 2.0) 和 lambda 表达式 (C# 3.0) 之间有什么区别?

C# 2.0 的匿名方法和 C# 3.0 的lambda 表达式有什么区别?

0 投票
3 回答
364 浏览

java - 在 Java 中反映方法的动作

我想知道如何——如果可能的话——反映在执行期间在方法内部执行了哪些方法调用。我对外部方法调用(即其他类中的方法)或调用某些特定方法(如 getDatabaseConnection())特别感兴趣。

我的意图是监视方法内预定义对象的操作,并在满足某些特定条件时执行附加代码,例如使用特定值调用某些方法。监视器将是完全外部的类或一组类,除了反射之外无法直接访问要监视的对象。

0 投票
8 回答
12964 浏览

java - 如何在 NetBeans 或其他 Java IDE 中按名称对类成员进行排序?

我想在源代码中按名称对成员进行排序。有什么简单的方法吗?

我正在使用 NetBeans,但如果有其他编辑器可以做到这一点,请告诉我它的名称。