Tag: private

c#中的私有静态变量和线程安全性

我的同事在multithreadingc#app中编写了以下代码… public class1 { private static partialClass var1 = new partialNonStaticClass(); public static method1() { //do something with var1 } } 尽管var1是私有的并且设置为非静态的部分类,但它是静态的这一事实意味着它可以被所有线程共享。 此外,不对var1执行锁定。 因此,var1不是线程安全的。 只是想让某人validation我是对的。

如何在WPF中将控件标记为“私有”?

使用WinForms程序,我已经习惯于将控件的Modifiers属性标记为“Private”,以防止外部类和其他任何让你无法看到和搞乱它们的东西。 仍然非常绿色的WPF,我发现在WPF中没有明显的等价物允许我这样做,所以外部类无法看到控件我放到表单或其他用户控件或什么不是。 我注意到了一些x:FieldModifier =“Private”但是我收到错误“x:FieldModifier =”Private“对于C#语言无效”。 如何将控件标记为“私有”,以便外部类对象无法查看或访问它?

C#中的私人“设置” – 无法将我的大脑包裹起来

我已经看到很多使用类似的东西编写的示例代码(请原谅这是多么可怕的jar头): public class Test { public object Thingy { get; private set; } } 不幸的是,这些例子从未真正解释为什么’set’被设置为私有。 所以,我只是想知道是否有一个好的,常见的例子可以向我说明为什么会使用这样的东西。 我有点看到它 – 除了设置该字段外,还可以运行属性来处理一些额外的逻辑。 我只是对如何调用它感到困惑,为什么会使用这种方法而不是通用的setter方法。

C#如何在C ++中使公共/私有一切?

我最近开始学习C#,但我有一些C ++的背景知识。 我想知道我会怎样做 class employee { public: …. … methods … …. private: …. … private member variables …. …. } 我尝试在C#中这样做,但它不喜欢“public:…”和“private:…”来制作公共或私人之后的所有内容。 另外,我已经看到了这个在C#中获取和设置的东西,所以你不需要做一个私有成员变量的方式,然后使函数返回该变量? 虽然我在这,但是如何在C#中创建子类? 在C#中,新类在不同的选项卡中打开,所以我很困惑如何做到这一点。

unit testing私有代码

我目前正参与使用C#进行开发 – 这里有一些背景知识:我们使用客户端应用程序实现MVP,并且我们有一个循环规则,该规则指出没有方法应该具有大于5的圈复杂度。这会导致许多小的私有方法这通常是一件事。 我的问题是关于unit testing一个类: 通过公共方法测试私有实现都很好……我没有遇到实现这个问题的问题。 但是……以下情况如何: 示例1.处理异步数据检索请求的结果(回调方法不应仅供公开测试) 示例2.执行操作的事件处理程序(例如更新View标签的文本 – 我知道的愚蠢示例……) 示例3.您正在使用第三方框架,它允许您通过覆盖受保护的虚拟方法进行扩展(从公共方法到这些虚拟方法的路径通常被视为黑盒编程,并且将具有框架提供的各种依赖性你不想知道) 上面的例子在我看来并不是设计不良的结果。 他们似乎也没有成为单独进行单独测试的候选人,因为这样的方法会失去他们的背景。 没有人对此有任何想法吗? 干杯,杰森 编辑:我认为我在原始问题中不够清楚 – 我可以使用访问器测试私有方法,并使用TypeMock模拟调用/方法。 那不是问题。 问题是测试不需要公开或不公开的东西。 我不想为了测试而公开代码,因为它可能会引入安全漏洞(只发布一个接口来隐藏它不是一个选项,因为任何人都可以将对象强制转换回其原始类型并获取访问权限我不希望他们) 被重构到另一个类进行测试的代码很好 – 但可能会失去上下文。 我一直认为让’帮助’类可以包含一堆没有特定上下文的代码是不好的做法 – (在这里思考SRP)。 我真的不认为这适用于事件处理程序。 我很高兴被certificate是错的 – 我只是不确定如何测试这个function! 我一直认为,如果它可以破坏或改变 – 测试它。 干杯,杰森

访问私有字段

是否可以获取或设置私有字段? 我想获得System.Guid.c 。 有没有办法访问它或者我应该从strut复制代码并将字段公开?