Questions tagged «c#»

C#(发音为“ See Sharp”)是由Microsoft开发的一种高级,静态类型的多范例编程语言。C#代码通常针对Microsoft的.NET系列工具和运行时,其中包括.NET Framework,.NET Core和Xamarin。使用此标记可解决有关用C#或C#正式规范编写的代码的问题。

12
了解私人二传手
我不了解需要以C#2开头的私有设置器。 对我来说,使用setter方法可以让用户在该类中设置一些变量。这样做时,我们不会将变量直接暴露给用户。相反,我们让他们通过此公共设置器方法来执行此操作。 对我来说这是使用“封装”。有一些论点声称私有设置程序将允许您应用封装。 我不是通过公共setter方法使用封装吗?为什么我们需要私人二传手? 不可变的类和带有私有二传手的类有什么区别?
90 c# 


7
c#尝试反向列表
public class CategoryNavItem { public int ID { get; set; } public string Name { get; set; } public string Icon { get; set; } public CategoryNavItem(int CatID, string CatName, string CatIcon) { ID = CatID; Name = CatName; Icon = CatIcon; } } public static List<Lite.CategoryNavItem> getMenuNav(int CatID) { …
90 c#  list  reverse 

7
如何在Visual Studio中关闭方括号/引号自动完成
如标题中所述:如何在MSVS中关闭方括号/引号/大括号自动补全功能?我主要对C#和XAML感兴趣,但是其他文本编辑器也会很好。 编辑:当前我正在使用具有这些扩展名的MSVS 11: AnkhSVN 并发可视化器 PrePretive Analytics聚合器可视化器 MSVS PerfWatson VsGraphicsDebuggerPkg Web工具扩展 其中大多数必须已经预先安装了msvs安装,因为我不记得自己安装它们了;) EDIT2:我在此版本中使用msvs:版本11.0.50323.1 QRELB EDIT3: 我发现当前可用的msvs11中不会发生此问题。

6
如何在Visual Studio调试中以管理员身份运行应用程序?
我有一个ac#应用程序,在这里我必须具有对C驱动器根目录的读/写访问权限。我意识到我可以编译代码并以管理员身份运行可执行文件,并且它可以工作。但是我需要调试它,我不确定如何在Visual Studio中启动该应用程序。 我尝试添加: <requestedExecutionLevel level="asInvoker" uiAccess="true" /> 到我的清单,但仍然出现拒绝访问错误。 这是失败的代码行: MemoryMappedFile mmf = MemoryMappedFile.CreateFromFile(@"c:\somemapnamefile.data", System.IO.FileMode.OpenOrCreate, "somemapname", 1000); 目前,我有工作要做,但我想知道将来。
90 c#  visual-studio 



4
无法将类型void隐式转换为对象。.NET MVC PartialViewResult
我有以下控制器操作: [ChildActionOnly] public virtual PartialViewResult ListActions(int id) { var actions = meetingActionRepository.GetAllMeetingActions(id); return PartialView(actions); } 以及以下操作链接(使用t4MVC和razor语法) <p> @Html.RenderAction(MVC.MeetingActions.ListActions(Model.MeetingId)) </p> 但这给了我错误: 无法将类型void隐式转换为对象 据我所知,控制器动作正常,那么什么会给我这个错误呢?


7
将回调函数传递给另一个类
我基本上是想将一个方法传递给另一个类,以供稍后调用,但是在C#中我还不太清楚(我仍然很习惯Objective-C)。 public class Class1{ private void btn_click(object sender, EventArgs e) { ServerRequest sr = new ServerRequest(); sr.DoRequest("myrequest", myCallback); } public void myCallback(string str) { } } 然后,稍后我希望我的ServerRequest类基本上触发回调函数,这是不可能的吗?(我基本上是打电话回服务器以获取对我的软件的登录响应) 我一直无法找到一种方法来与委托人做到这一点,不断出错。这是另一类: public class ServerRequest { public void DoRequest(string request, Delegate callback) { // do stuff.... callback("asdf"); } } #有可能吗?在Objective-C中,这很简单,我会做类似的事情 [myObject performSelector(@selector(MyFunctionName)) withObjects:nil];
90 c# 


3
WinForms中的Model-View-Presenter
我正在尝试使用WinForms首次实现MVP方法。 我试图了解每一层的功能。 在我的程序中,我有一个GUI按钮,单击该按钮会打开一个openfiledialog窗口。 因此,使用MVP,GUI会处理按钮单击事件,然后调用presenter.openfile();。 在presenter.openfile()中,然后应该将该文件的打开委托给模型层,还是由于没有要处理的数据或逻辑,它是否应仅对请求采取行动并打开openfile对话窗口? 更新: 我决定提供赏金,因为我认为我需要对此提供进一步的帮助,并且最好针对我在下面的特定要点进行调整,以便获得背景信息。 好的,在阅读了MVP之后,我决定实现被动视图。实际上,我将在Winform上具有一堆控件,这些控件将由Presenter处理,然后将任务委派给模型。我的具体观点如下: 当winform加载时,它必须获取树视图。我是否正确认为该视图因此应调用诸如presenter.gettree()之类的方法,而该方法又将委托给模型,该模型将获取树视图的数据,对其进行创建和配置,然后将其返回给演示者,该演示者又将转到视图,然后将其简单地分配给一个面板? Winform上的任何数据控件都一样吗,因为我也有一个datagridview? 我的应用程序具有许多具有相同装配的模型类。它还支持插件体系结构,其中的插件需要在启动时加载。视图是否会简单地调用presenter方法,而该方法又会调用加载插件并在视图中显示信息的方法?哪一层将控制插件引用。视图将保留对它们或演示者的引用吗? 我是否认为视图应该处理与表示有关的所有事情,从树视图节点的颜色到数据网格大小等,是否正确? 我认为这是我最关心的问题,如果我了解这些工作的流程,我会没事的。

8
是否可以覆盖非虚拟方法?
有什么方法可以覆盖非虚拟方法?或产生类似结果的东西(除了创建一个新方法来调用所需的方法之外)? 我想Microsoft.Xna.Framework.Graphics.GraphicsDevice在考虑单元测试的情况下覆盖其中的一种方法。


12
延迟的函数调用
是否有一个很好的简单方法来延迟函数调用,同时让线程继续执行? 例如 public void foo() { // Do stuff! // Delayed call to bar() after x number of ms // Do more Stuff } public void bar() { // Only execute once foo has finished } 我知道可以通过使用计时器和事件处理程序来实现,但是我想知道是否存在标准的c#方式来实现? 如果有人好奇,那么这样做的原因是foo()和bar()处于不同的(单个)类中,在特殊情况下,我需要彼此调用。问题在于这是在初始化时完成的,因此foo需要调用bar,而bar需要一个正在创建的foo类的实例...因此,延迟调用bar()以确保foo被完全实例化。差一点的不良设计! 编辑 我将在建议下处理有关不良设计的要点!长期以来,我一直以为我可以改善系统,但是,这种令人讨厌的情况只有在抛出异常时才会发生,在其他所有时间,两个单例都很好地共存。我认为我不会用讨厌的异步模式搞乱,而是要重构其中一个类的初始化。
90 c#  function  delay 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.