草庐IT

内部网

全部标签

c# - 在运行内部代码之前,在锁之前和锁内设置 "double check"是否可以?

在处理线程安全时,我发现自己总是在执行锁block中的代码之前“仔细检查”,我想知道自己是否做对了。考虑以下三种做同样事情的方法:示例1:privatestaticSomeCollectionMyCollection;privatestaticObjectlocker;privatevoidDoSomething(stringkey){if(MyCollection[key]==null){lock(locker){MyCollection[key]=DoSomethingExpensive();}}DoSomethingWithResult(MyCollection[key]);}示

c# - MVC 中的 500 内部服务器错误页面

这个问题在这里已经有了答案:CustomErrorsworksforHttpCode403butnot500?(2个答案)关闭9年前。我正在尝试为MVC站点设置自定义错误。我的404页面工作正常,但在测试服务器错误时我收到默认消息:Sorry,anerroroccurredwhileprocessingyourrequest.而不是我的自定义页面。我已经在web.config中进行了设置:我的错误Controller如下:publicclassErrorController:Controller{[ActionName("404")]publicActionResultNotFound

c# - 如何查找 C# 类的内部属性?保护?保护内部?

如果我有一个C#类MyClass如下:usingSystem.Diagnostics;namespaceConsoleApplication1{classMyClass{publicintpPublic{get;set;}privateintpPrivate{get;set;}internalintpInternal{get;set;}}classProgram{staticvoidMain(string[]args){Debug.Assert(typeof(MyClass).GetProperties(System.Reflection.BindingFlags.Public|Sys

c# - 从派生类内部调用 C# 基类扩展方法?

这是一个人为的例子:publicstaticclassMyExtensions{publicstaticvoidMyMethod(thisMyInterfaceobj,stringtxt){}}interfaceMyInterface{}publicMyDerived:MyInterface{voidDoStuff(){MyMethod("test");//fails;compilercan'tfindMyMethod?}}在我上面的示例中,我试图从我的派生类调用分配给接口(interface)的扩展方法。编译器在这里失败并说MyMethod在当前上下文中不存在。我的CS文件中有所有适

c# DbSet - 无法获取内部对象

我需要将一个实体切换为内部实体。所以我创造了它。没有构建/运行时错误。但是当我想使用DbSet对象时我不能,因为该对象似乎没有初始化!我的上下文实体:publicpartialclassEntities{internalDbSetEmployeeSet{get;set;}}我是这样使用的:Entitiescontext=newEntities();Listemployees=context.EmployeeSet.ToList();但是“EmployeeSet”为空。我认为是因为它没有在get中实例化。如果我像这样使用public,它会起作用:publicpartialclassEnt

C# Linq 内部连接

我只想选择养宠物的人。当我执行查询时varquery=frompinpeoplejoinptsinpetsonpequalspts.Ownerintogrpselectnew{grp=grp,PersonName=p.FirstName};没有宠物的人也被选中。我的list是Person[]prn=newPerson[3];prn[0]=newPerson();prn[0].FirstName="Jon";prn[0].LastName="Skeet";prn[1]=newPerson();prn[1].FirstName="Marc";prn[1].LastName="Gravell

c# - 绑定(bind)到内部属性?

我正在使用MVVM尝试一些不同的事情。在我们的ViewModel中,绑定(bind)到View的属性是公开的。我以按钮绑定(bind)为例。这是一个简单的示例。查看.xaml:ViewModel.csprivateICommand_testButtonCommand;publicICommandTestButtonCommand{get{return_testButtonCommand??(_testButtonCommand=newRelayCommand(SomeMethod));}}我的问题是,我们可以将TestButtonCommand设为内部而不是公共(public)吗?内部

c# - 检查内部方法是否传递了一些可选参数

如何检查可选参数是否传递给方法?publicvoidExampleMethod(intrequired,stringoptionalstr="defaultstring",intoptionalint=10){if(optionalintwaspassed)return;}另一种方法是使用Nullable.HasValue(MSDNdefinitions,MSDNexamples):intdefault_optionalint=0;publicvoidExampleMethod(intrequired,int?optionalint,stringoptionalstr="default

c# - 如何在类内部调用构造函数?

我想在类中调用构造函数,例如:公共(public)类Myclass(){publicMyClass(){//......}publicMyClass(intid):this(){//......}privatevoidReset(){//.....this=newMyClass(id);//hereIwanttocallconstructor//......}}但它不起作用。这可能吗?如果可以,我该怎么做? 最佳答案 简单的回答:你不能。稍微复杂一点的答案:将您的初始化逻辑移动到一个单独的方法中,该方法可以从构造函数和您的Reset

c# - 内部带有 flowlayout 面板且 autosize = true 的 Groupbox 会收缩,就像它是空的一样

我有一个包含流程布局面板的组框,流程布局面板包含一堆控件。我将flowlayout面板设置为与父级对接。因为我不知道面板中会有多少控件,所以我将组框的自动调整大小设置为true,将autosizemode设置为增长和收缩。当我这样做时,组框会缩小,就好像它是空的一样。我需要标题,所以我不能删除组框。有人知道为什么会这样吗? 最佳答案 没有什么可以阻止FlowLayoutPanel缩小到无。您至少还必须将其AutoSize属性也设置为True。 关于c#-内部带有flowlayout面板且