编译时间多态性与运行时多态性

为什么重载称为编译时多态和覆盖C#中的运行时多态?

什么是GenericIdentity?

任何人都可以简单地解释一下GenericIdentity的用途以及在哪里使用它。

无法将类型’string’隐式转换为’int’

我一直得到调试错误“不能在C#中隐式地将类型’字符串’转换为’int’”。 这是我的代码片段: private void button2_Click(object sender, EventArgs e) //button to start takedown { byte[] packetData = System.Text.ASCIIEncoding.ASCII.GetBytes(“”); string IP = “127.0.0.1”; int port = “80”; IPEndPoint ep = new IPEndPoint(IPAddress.Parse(IP), port); Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); client.SendTo(packetData, ep); }

使用C#从ASP.Net MVC访问Active Directory

我需要访问Active Directory以获取有关客户所属组的信息。 我的项目是使用C#的ASP.Net MVC应用程序。 我之前从未编写过针对Active Directory的编程,并且需要一些关于最佳入门方法的建议,使用什么安全模型来访问信息,并且可能指向一些好的教程。

使用SendInput自动化按键

当我尝试使用SendInput发送单键按键和组合按键时,我无法让程序按住键盘按钮直到命令被释放。 使用下面的代码,我可以通过首先按下shift来发送字符’a’和’A’ 。 但是,我不能永久地拿着’a’按钮。 public static void KeyDown() { SwitchWindow(Process.GetProcessesByName(“notepad”).FirstOrDefault().MainWindowHandle); INPUT[] inputs = new INPUT[1]; KEYBDINPUT kb = new KEYBDINPUT(); //Set up generic keyboard event inputs[0].type = INPUT_KEYBOARD; kb.wScan = 0; // hardware scan code for key kb.time = 0; kb.dwExtraInfo = IntPtr.Zero; kb.dwFlags = 0; // 0 for key press //Press shift kb.wVk = […]

从局部视图中获取当前控制器和操作

我正在使用以下内容获取asp.net MVC3中的当前控制器和操作: var currentAction = routeData.GetRequiredString(“action”); var currentController = routeData.GetRequiredString(“controller”); 这非常有效。 但是,如果我从我的布局调用的局部视图中调用它,则“Layout”将作为当前控制器返回。 这当然是正确的行为,但有没有办法访问父控制器的名称? 编辑以进一步说明: 我在_Layout.cshtml中调用我的菜单控制器和部分视图: @Html.Action(“Menu”, “Layout”) 然后从该菜单局部视图中,我调用返回当前操作和控制器的代码。

如何在ASP.NET中允许多种身份validation方法?

我正在构建一个新的ASP.NET MVC应用程序(在C#中),其中一个要求是创建一个新的成员数据库。 为此,我们需要角色来管理不同类型的成员和配置文件,以管理附加到每个成员的其他元数据。 到目前为止,只需使用标准的MembershipProvider,RoleProvider和ProfileProvider作为.NET Framework的一部分提供。 但是,问题是我想允许不同的身份validation方法。 我希望帐户和登录凭据具有一对多关系(一个帐户可以附加一些登录凭据)。 例如,用户可能同时将OpenID和ActiveDirectory帐户附加到其帐户。 但是,在尝试了几种方法之后,我们选择了MembershipProvider路线(解释了它是如何实现的,如下所示)。 我的问题是,人们之前是如何做到这一点的,以及人们如何建议我接近它? 它似乎是在很多网站上实现的东西,但在这里的搜索并没有返回任何可靠的东西。 编辑:在隔夜和今天早上四处寻找好几个小时之后 – 我仍然没有意识到屠杀一个会员提供者将是最简单的选择。 有多个MembershipProviders会产生相同的效果吗? BOUNTY EDIT:没有回复,我假设没有更好的解决方案,我发布的答案。 这是真的吗? 我正在提供奖励,试着看看是否有人对此有任何进一步的想法以及是否有更好的选择。 BOUNTY ACCEPT EDIT:我认为WIF是下面接受的答案,对于.NET 4版本和其他版本可能适用于3.5。 除此之外,也许一个被屠杀的MembershipProvider或改编的可能仍然是相关的。

C#WinForms模型 – 视图 – 演示者(被动视图)

我正在用C#开发一个WinForms应用程序。 我在GUI编程方面经验有限,而且我必须在飞行中学到很多东西。 话虽这么说,这就是我正在建设的。 请参阅常规GUI查看以下链接: GUI http://img227.imageshack.us/img227/1084/program0.jpg 现在,我已经做了很多工作,但是在非常糟糕的自治设计模式中。 我不知道该项目是否会达到一定的规模,因此,是时候进行一些重大的重构了。 我一直在研究GUI设计模式,我希望实现的模式是被动视图(参见http://martinfowler.com/eaaDev/PassiveScreen.html )。 我正在寻找一些如何将这一切融合在一起的帮助。 背景: 1)根据用户在“TreeView”中单击的内容,左下角的“列表”将显示可填充“编辑器”区域的对象列表。 这些对象可能是TextBox或DataGridView。 用户切换列表以选择他/她想要在“编辑器”中看到的内容 2)模型本质上是一个包含数据和配置文件的文件夹。 有一个外部程序在给定目录上运行,创建输出文件/文件夹等。我正在开发的这个程序旨在以用户友好的方式有效地管理/配置这些对象 3)我一直在做的事情的问题是它几乎不可能测试,因此转向MVP式的被动视图设计模式 我试图让它成为独立于View的程序。 我无法找到任何更复杂的交互式视图与被动视图模式一起使用的示例。 问题: 1)我是否需要为程序的整个“外观”实现一个大的接口/视图,然后为每个TreeView,Editor,Logger等实现子接口/子视图? 或者这样做有更好的“结构”吗? 2)当从视图“移交”事件到演示者/控制器时(无论你想使用什么术语WRT被动视图设计模式),我应该怎么做? 有时我有简单的属性需要更新,有时我需要一系列的步骤来展开。 我会喜欢这个主题的建议和建议。 我已经浏览了互联网,但我没有找到足够的例子来帮助我继续这个项目。 提前致谢! 丹尼尔

ASP.default_aspx’不包含’IssuesGrid_OnItemUpdated’的定义,也没有扩展方法’IssuesGrid_OnItemUpdated’

我使用Telerik asp.net/ajax控件创建了一个gridview,当我在本地运行应用程序时,网格工作正常,但当推送到我的服务器时,我的所有方法都得到了相同的错误: ASP.default_aspx’ does not contain a definition for ‘IssuesGrid_OnItemUpdated’ and no extension method ‘IssuesGrid_OnItemUpdated’ accepting a first argument of type ‘ASP.default_aspx’ could be found (are you missing a using directive or an assembly reference?) 我已经尝试删除网格中的引用并再次创建它并让VS创建方法然后它将工作,直到我为所有抛出错误的方法执行该操作然后它重新开始。 这是aspx页面: 以下是我的cs文件中的方法: protected void Issues_OnItemUpdated(object sender, GridUpdatedEventArgs e) { if (e.Exception != null) { e.KeepInEditMode = true; e.ExceptionHandled = […]

动态创建方法并执行它

背景: 我想在C#中定义一些static方法,并从运行时(在客户端上)选择的这些方法之一生成IL代码作为字节数组,并通过网络将字节数组发送到应该执行它的另一台机器(服务器)从字节数组重新生成IL代码之后。 我的尝试: ( POC ) public static class Experiment { public static int Multiply(int a, int b) { Console.WriteLine(“Arguments ({0}, {1})”, a, b); return a * b; } } 然后我得到方法体的IL代码,如: BindingFlags flags = BindingFlags.Public | BindingFlags.Static; MethodInfo meth = typeof(Experiment).GetMethod(“Multiply”, flags); byte[] il = meth.GetMethodBody().GetILAsByteArray(); 到目前为止,我没有动态创建任何东西。 但我把IL代码作为字节数组,我想创建一个程序集,然后是一个模块,然后是一个类型,然后是一个方法 – 所有这些都是动态的。 在创建动态创建方法的方法体时,我使用上面代码中使用reflection得到的IL代码。 代码生成代码如下: AppDomain domain = […]