草庐IT

内部的

全部标签

c# - 无法使用 Prism 从回调方法内部导航

我有一个使用WPF和Prism的小型应用程序。我有我的外壳和两个模块。我可以以“正常方式”(例如通过单击按钮)在它们之间成功导航,因此我知道它们已正确连接以进行导航。但是,如果我执行一些在完成时触发事件的异步操作,我就无法从该事件处理程序内部进行导航。我尝试的最后一件事是使用事件聚合将事件发布回UI线程,但它仍然没有导航。事件订阅者成功获取事件并触发RequestNavigate(...)但UI没有更新。现在,一些代码:我的第一个模块LoginModule的View模型:publicclassLoginViewModel:ViewModelBase,ILoginViewModel,IN

c# - C# 类中私有(private)、 protected 、公共(public)和内部方法的性能有什么不同吗?

在C#类中,private、protected、public和internal方法的性能有什么不同吗?我对消耗更多处理器时间或RAM感兴趣。 最佳答案 我不知道正常调用有任何性能差异;当通过动态调用或反射访问时,更受限制的访问可能需要更多的工作,因为调用者可能需要更仔细地验证。在正常的JIT编译情况下,访问可以由CLR验证一次,然后视为理所当然。我猜想JIT编译(和IL验证)本身可能会因为更严格的访问而稍微慢一些-但我很难相信这会很重要。这应该绝对不是决定使用哪种辅助功能的一个因素,即使不知何故存在一些我不知道的微小性能差异。如果您

c# - Silverlight 资源构造函数总是返回到内部

当我修改我的资源文件(.resx)添加文本或修改时,我的资源的构造函数总是转到内部,之后,当我运行我的silverlight时,我的绑定(bind)出现错误XAML。有没有办法避免这种情况?我需要进入我的资源设计器并将构造函数公开以解决问题我在我的xaml文件中这样使用我的资源 最佳答案 另一种无需更改代码即可执行此操作的方法如下。对我来说效果很好。http://guysmithferrier.com/post/2010/09/PublicResourceCodeGenerator-now-works-with-Visual-Stu

c# - 创建实现内部接口(interface)的类型

假设我有声明内部接口(interface)IInternalInterface的程序集。我无权访问此程序集的代码,也无法更改它。如何创建自己的IInternalInterface实现?为什么我需要这个:程序集包含带有IInternalInterface实现者列表的类,我的目标是在那里添加我自己的实现。 最佳答案 可以使用远程代理。请注意,我的回答只是一个草图,可能需要进一步改进。internalinterfaceIInternalInterface{voidSayHello();}//------------------------

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