问题标签 [private-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 投票
5 回答
745 浏览

c# - 如何在 C# 中编写“真正的”私有方法?

事实上,私有方法是在 C# 中实现的,仍然可以使用Reflection.

我要做的是编写执行加密和解密的方法public string Encrypt(string data)private string Decrypt(string cipher)

不幸的是,如果有人知道 .NET 框架,他可以使用它Reflection来查找Decrypt方法并解密所有加密的内容。

这似乎不是那么安全。所以我想把Decrypt方法变成真正的私有方法。

但是怎么做呢?


悉尼时间 2012 年 1 月 9 日晚上 10:52 更新

bdares提供了这个问题的技术解释

Eric Lippert提供了这个问题的政治解释

谢谢两位专家!

0 投票
4 回答
1721 浏览

c# - 最小起订量 c# 私有方法抛出异常

给定这个类:

我如何模拟 MyMethod 来抛出一个OutOfmemoryException?

编辑1:

考虑到下一个MyMethod从数据库加载一些数据的情况,并且发生一些无法预料的错误,MyMethod将引发异常。我希望能够对这种情况进行单元测试。在我的例子中,来自 execute 方法的 catch 子句。

0 投票
2 回答
207 浏览

java - 方法检索和继承混淆

好的,所以我遇到了很多麻烦,我还在学习 Java,我的书为我设置了一项我在网上发现的常见任务,我坚持的部分是......

我必须创建一个银行账户程序,给账户持有人一个储蓄账户(有利率,没有透支)和一个支票账户(有 100 英镑的透支,没有利息)。

我还没有实施透支,只是准备好提款和存款功能的一半,但我的问题是利息,我在我的超类中定义了储蓄账户余额和支票账户余额,所以在计算我的兴趣时储蓄账户类我无法引用 savebalance,因为我已将其设为私有。我正在尝试使用 set.name 方法,但显然我做错了....

一个灿烂的笑容,感谢任何可以帮助或提供建议的人!

超类如下:

子类如下:

0 投票
2 回答
67 浏览

javascript - 如何从命名空间外部更新内部配置?

我有一个javascript文件如下

现在在页面的第一次加载时,我调用

它会在我需要的时候启动。

问题是我有一个handleOrientationChange方法需要从命名空间外部更新配置(由于开销,我不想触发 loadHomeBanner 方法)。

如何rpc.AN.controller.setConfig从闭包范围之外调用?

0 投票
3 回答
1102 浏览

objective-c - NSWindow: alternative to -setOpaque:NO

I want to have a window which is like QuickTime X window. An all opaque window with rounded corners.

I've obtained it implementing a custom borderless NSWindow with:

and a custom NSView with:

It works as expected but the window becomes noticeably slow when it gets resized fast.

I've identified that this slowdown is given by -setOpaque:NO; if I remove that line, the window can be resized fast again but corners are obviously no more rounded.

Is there a way to avoid using -setOpaque:NO and still be able to have rounded corners? Maybe one can have a window which is all opaque except for the corners?

The view is a NSOpenGLView so I can leverage on OpenGL if it may helps.

0 投票
1 回答
668 浏览

ruby-on-rails - rails 3.2.1 自定义模块限制控制器访问私有实例方法

** 使用 Rails:3.2.1,Ruby:ruby 1.9.3p0(2011-10-30 修订版 33570)[i686-linux] **

在我的模块中,我有一个私有实例方法 (get_tables_of_random_words) 和一个模块函数 (get_random_word)。

从我的 Rails 控制器中,我正在调用模块功能,它可以正常工作。但是,当我调用模块的私有实例方法时,它也会毫无问题地被调用。

任何人都可以解释这种行为背后的原因以及如何实现我想要的功能。我不希望从包含我的模块的类中调用我的模块的私有实例方法。我的私有实例方法是一个实用方法,需要仅在模块内部工作。

Util::RandomWordsUtil

GamesController(脚手架生成控制器-自定义)

以下是我尝试过但没有按预期工作的方法。参考:Ruby 中的私有模块方法

Util::RandomWordsUtil (Tried Approach-1) # get_tables_of_random_words could not be found error is prompt from get_random_word method

Util::RandomWordsUtil (Tried Approach-2) # 控制器提示错误,说未定义的局部变量或方法 'get_random_word'

谢谢,
吉涅什

0 投票
1 回答
298 浏览

objective-c - 私有方法实现

这个问题主要是好奇心而不是其他任何东西。但我目前将所有私有方法放在我的首位,@implementation这样我就可以避免在我的 .m 文件中为这些方法创建一个单独的类别。只要私有方法在任何其他方法调用它之前实现,一切都很好。如果我在实现之前尝试调用未声明的方法,我可以清楚地记得 Xcode 警告我......至少,我认为我可以。现在我开始有点怀疑我的理智了,因为 Xcode 现在似乎非常乐意允许我调用任何未声明的方法,只要它的实现位于@implementation.

这是最近的变化还是我一直在根据一些古老的“C”限制来构建我的方法顺序?

Xcode 现在的行为方式似乎没有必要为私有方法创建任何类型的类别。就个人而言,我觉得这很不错。

编辑:我正在使用 Xcode 4.3.1

0 投票
2 回答
890 浏览

.net - .Net 无法通过反射获取私有方法

我在使用反射获取私有方法时遇到问题。即使使用 BindingFlags.NonPublic 和 BindingFlags.Instance 它也不起作用。HandleClientDrivenStatePropertyChanged 定义在与 CreateRadioPropertyInstances 方法相同的类上。

GetMethod 返回空值。可能是什么问题?

[编辑代码]

0 投票
1 回答
480 浏览

actionscript-3 - 如何使用另一个类的私有静态方法

我正在编写扩展 adobe air PNGEncoder 的类,

我想使用 writeChunk 方法,但它似乎是私有静态的,我似乎无法将它与我的代码一起使用但它给出了如下错误

错误:描述资源路径位置类型 1061:通过静态类型 com.adobe.images:PNGEncoder 的引用调用可能未定义的方法 writeChunk。pngMethods.as /FOTO_WITH_AS3_1/src/xmp 第 121 行 Flex 问题

我的课

Adobe PNG 方法

0 投票
5 回答
7019 浏览

c++ - C++ Private Functions:是否通过函数参数传递类成员变量

这是一个在 C++ 类实现中反复出现的问题。我很好奇人们在这里的想法。你更喜欢哪个代码,为什么?

或替代方案:

我想我总是更喜欢第二个,因为然后f可以对任何实例进行操作,CMyClass但是,也就是说,我有很多代码,其中第一个是完全有效的,因为f只会操作m_Member1,我真的把它分成两个函数来使代码更具可读性。

是的,这更像是一个讨论问题而不是“答案”问题,但我对推理更感兴趣。我会将给出良好推理或良好标准的回答标记为答案。

另外,请记住,这只是一个玩具示例。班级实际上会比这更大,因此组织很重要。