草庐IT

private-messaging

全部标签

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# - 使用带有 Caliburn micro Message.Attach 的附加事件

我正在尝试使用Caliburn微消息来触发我创建的附加事件:publicstaticclassDataChanging{publicdelegatevoidDataChangingEventHandler(objectsender,DataChangingEventArgse);publicstaticreadonlyRoutedEventChangingEvent=EventManager.RegisterRoutedEvent("Changing",RoutingStrategy.Bubble,typeof(DataChangingEventHandler),typeof(Data

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

C# 私有(private)(隐藏)基类

是否可以使C#基类仅在其编译到的库程序集中可访问,同时使从它继承的其他子类公开?例如:usingSystem.IO;classBaseOutput:Stream//Hiddenbaseclass{protectedBaseOutput(Streamo){...}...lotsofcommonmethods...}publicclassMyOutput:BaseOutput//Publicsubclass{publicBaseOutput(Streamo):base(o){...}publicoverrideintWrite(intb){...}}在这里,我希望我的库的客户端无法访问Ba

c# - ValidationMessageFor 与 AddModelError(key, message) 一起。关键是什么?

我正在为某个viewModel属性开发客户端和服务器端验证。在.cshtml文件中我放了这个:@Html.DropDownListFor(model=>model.EntityType.ParentId,Model.ParentTypeList,"")@Html.ValidationMessageFor(model=>model.EntityType.ParentId)在Controller中进行业务验证catch(BusinessExceptione){ModelState.AddModelError("EntityType.ParentId",Messages.CircularRe

C# 私有(private)成员可见性

我们的业务模型中有一个Student类。让我感到奇怪的是,如果我们从另一个学生操纵一个学生,学生的私有(private)成员是可见的,这是为什么?classProgram{staticvoidMain(string[]args){Students1=newStudent();Students2=newStudent();s1.SeePrivatePropertiesAndFields(s2);}}publicclassStudent{privateString_studentsPrivateField;publicStudent(){_studentsPrivateField=Date

c# - 我可以用 protected /私有(private)的静态变量做什么?

我知道我可以写了:protectedstatic在我的C#类中(在我的例子中,是一个aspx.cs)。以及:privatestatic这是什么意思?静态无处不在。为什么要保护/私有(private)? 最佳答案 static的定义并不是“随处可用”。它是在AppDomain范围内声明的类型之间共享的变量。AccessModifiers不改变这个定义,但明显影响访问范围。你混淆了static带有访问修饰符的修饰符。静态变量仍然需要定义可访问性。在您的示例中,私有(private)静态变量只能在定义它的类型中访问,而protected变

c# - 如何初始化 ConcurrentDictionary?错误 : "Cannot access private method ' Add' here"

我有一个静态类,我在其中使用字典作为查找表以在.NET类型和SQL类型之间进行映射。这是一个这样的字典的例子:privatestaticreadonlyDictionarySqlServerMap=newDictionary{{typeof(Boolean),"bit"},{typeof(Byte[]),"varbinary(max)"},{typeof(Double),"float"},{typeof(Byte),"tinyint"},{typeof(Int16),"smallint"},{typeof(Int32),"int"},{typeof(Int64),"bigint"},{