草庐IT

lldb_private

全部标签

C# 覆盖公共(public)成员并将其设为私有(private)

可能吗?您可以将任何内容的访问权限更改为其他任何内容吗? 最佳答案 不可以,您可以在子类中使用私有(private)方法隐藏公共(public)成员,但不能在子类中使用私有(private)方法覆盖公共(public)成员。而且,实际上,这不仅仅是公共(public)/私有(private)的事情,这通常适用于缩小访问范围。修订:通过使用更严格的访问权限隐藏-在本例中为私有(private)访问权限-您将仍然看到来自基类或子类的基类成员引用,但它会在新访问级别可用时遵从新方法。所以一般来说,当您隐藏时,隐藏在其访问级别可见时优先。否

c# - 您应该对私有(private)方法进行 XML 注释吗?

所以我在我的代码中使用XML注释来帮助解释公共(public)方法和公共(public)成员,另一位开发人员提到并非我的所有方法都有XML注释。我使用的规则是,如果是公共(public)的或protected,则添加XML注释,如果是私有(private)的,则不添加。这听起来合乎逻辑吗?或者有什么理由让您将XMLComment设为私有(private)方法? 最佳答案 关于评论没有严格的规定,但我认为评论公共(public)/内部/protected方法是好的。有时我会在私有(private)方法不是很清楚的时候注释它们。理想情况

c# - 匿名委托(delegate)中捕获的私有(private)字段

classA{publiceventEventHandlerAEvent;}classB{privateA_foo;privateint_bar;publicvoidAttachToAEvent(){_foo.AEvent+=delegate(){...UseBar(_bar);...}}}由于delegate捕获变量this._bar,它是否隐含地持有B的实例?B的实例是否会通过事件处理程序引用并由A的实例捕获变量?如果_bar是AttachToAEvent方法的局部变量,会有不同吗?因为在我的例子中,A的实例比B的实例生命周期长得多并且小得多,我担心会导致“内存泄漏”这样做。

c# - 如何使用反射获得重载的私有(private)/ protected 方法

usingSystem;usingSystem.Reflection;namespaceReflection{classTest{protectedvoidmethodname(inti){Console.WriteLine(("intheworldofthereflection-onlyi"));Console.Read();}protectedvoidmethodname(inti,intj){Console.WriteLine(("intheworldofthereflectioni,j"));Console.Read();}}classProgram{staticvoidMai

c# - 阻止访问私有(private)成员变量?强制使用公共(public)属性(property)?

我使用的是.NET2.0,因此无法访问自动属性。所以我必须求助于以下编码私有(private)变量和公共(public)属性的方法privatestringm_hello=null;publicstringHello{get{returnm_hello;}set{m_hello=value;}}对于上述private/public成员的包含类的方法,是否有限制访问private变量的方法?我不喜欢我可以使用m_hello或Hello。谢谢。 最佳答案 正如其他人所建议的那样,这应该是一个答案...当面向.NET2.0时,您仍然可以在

c# - 具有私有(private)密封类的 Activator.CreateInstance

我正在尝试新建一个LocalCommand实例,它是System.Data.SqlClient.SqlCommandSet的私有(private)类。我似乎能够很好地获取类型信息:AssemblysysData=Assembly.Load("System.Data,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089");localCmdType=sysData.GetType("System.Data.SqlClient.SqlCommandSet+LocalCommand");但是当我尝试实例化Activat

c# - 私有(private)成员在 API 方法调用中突然为 null

发生了奇怪的事情:在我的网络api中,我在使用Ninject解析时将一个存储库注入(inject)到Controller中。存储库存储在私有(private)只读成员变量中。工作得很好!当一个api方法被调用时,我访问了这个变量-只是发现它突然变成了null!伪例子:publicclassMyController:ApiController{privatereadonlyIRepo_repo;publicMyController(IReporepo){Guard.AgainstNullArgument("repo",repo);//guardingto//makesureit'snot

c# - 为什么 C# 在基本构造函数之前设置私有(private)变量,而 VB.NET 却相反?

有一个问题比较C#代码和VB.NET,看似相同的代码之间的结果完全不同。(Iwroteaprogramthatallowtwoclassesto"fight".ForwhateverreasonC#alwayswins.What'swrongwithVB.NET?)给出的解释是,C#会初始化类字段,然后调用基础构造函数,但VB.NET恰恰相反。我的问题是-为什么?语言不同是否有技术原因?乍一看,这两种方法似乎都同样有效,但我不明白为什么他们不会选择相同的方法。编辑:正如“JeffreyLWhitledge”所指出的那样,VB6没有继承,所以我认为我们不能说“让VB.NET和VB6保持更

c# - Json.NET 序列化私有(private)成员而不是只读属性

如何自定义Json.NET以序列化私有(private)成员而不序列化公共(public)只读属性(不使用属性)。我尝试过创建自定义IContractResolver,但有点迷茫。 最佳答案 对于部分答案,搞乱DefaultContractResolver.DefaultMembersSearchFlags可以让它包含私有(private)的东西:Newtonsoft.Json.JsonSerializerSettingsjss=newNewtonsoft.Json.JsonSerializerSettings();if(inclu

c# - 如何使静态构造函数成为非私有(private)的?

C#中的静态构造函数不允许使用public、private等访问修饰符。然而,VisualStudio代码分析在C#安全类别中有一个警告,显示“CA2121:Staticconstructorsshouldbeprivate”。是否可以使静态构造函数成为非私有(private)的?或者这是VisualStudio代码分析的错误?澄清:我并不是要让任何构造函数成为非私有(private)的。所以为什么?”问题无关紧要。我只是对两个Microsoft工具之间的矛盾感到好奇,想看看是否有任何我不知道的静态构造函数的处理方式。 最佳答案 C