草庐IT

interface-design

全部标签

c# - 实现接口(interface)类的几个方法-C#

在C#中是否有可能有一个实现接口(interface)的类,该接口(interface)声明了10个方法但只实现了5个方法,即只定义了该接口(interface)的5个方法???实际上我有一个由3类实现的接口(interface),并不是所有的方法都被所有的类使用,所以如果我可以排除任何方法???我需要这个。这听起来可能是一个糟糕的设计,但希望不大。问题是我有一组需要具有公共(public)属性的用户控件,基于此我只在运行时显示它们。因为它是动态的,所以我需要管理它们,因为我拥有属性。少数类而不是所有类都需要某些属性。随着控件的增加,此属性可能会增加,因此根据一个控件的需要,我需要全部

c# - 如何获取鼠标右键事件?将 EventArgs 更改为 MouseEventArgs 会导致 Form1Designer 出错?

我有一种方法可以检测visualstudio通过双击表单产生的左键单击事件。privatevoidpictureBox1_Click(objectsender,EventArgse){MessageBox.Show("Leftclick");}我想通过右键单击同一对象来产生右键单击事件。我在网上看到你可以使用这个开关:privatevoidpictureBox1_Click(objectsender,EventArgse){if(e.Button==System.Windows.Forms.MouseButtons.Right){MessageBox.Show("Rightclick"

c# - 如何获取鼠标右键事件?将 EventArgs 更改为 MouseEventArgs 会导致 Form1Designer 出错?

我有一种方法可以检测visualstudio通过双击表单产生的左键单击事件。privatevoidpictureBox1_Click(objectsender,EventArgse){MessageBox.Show("Leftclick");}我想通过右键单击同一对象来产生右键单击事件。我在网上看到你可以使用这个开关:privatevoidpictureBox1_Click(objectsender,EventArgse){if(e.Button==System.Windows.Forms.MouseButtons.Right){MessageBox.Show("Rightclick"

c# - 当 AnyCPU 测试程序集实现来自 x64 生产程序集的接口(interface)时出现 BadImageFormatException

我似乎遇到了这样一种情况:当我在引用x64程序集的AnyCPU程序集上运行mstest时,我得到了BadImageFormatException。当AnyCPUTestingx64Production.dll测试程序集实现(即使未使用)x64Production.dll中的接口(interface)时会出现此问题:Unabletoloadthetestcontainer'D:\AnyCPUTestingx64Production.dll'oroneofitsdependencies.errordetails:System.BadImageFormatException:Couldnot

c# - 当 AnyCPU 测试程序集实现来自 x64 生产程序集的接口(interface)时出现 BadImageFormatException

我似乎遇到了这样一种情况:当我在引用x64程序集的AnyCPU程序集上运行mstest时,我得到了BadImageFormatException。当AnyCPUTestingx64Production.dll测试程序集实现(即使未使用)x64Production.dll中的接口(interface)时会出现此问题:Unabletoloadthetestcontainer'D:\AnyCPUTestingx64Production.dll'oroneofitsdependencies.errordetails:System.BadImageFormatException:Couldnot

c# - 事件、委托(delegate)或接口(interface)?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭3年前。Improvethisquestion假设我有一个Monkey类,它有时需要获取一个Banana实例。猴子对提供香蕉的方式不感兴趣,但它确实启动了香蕉获取。现在我至少有三种可能的方法将我的猴子连接到香蕉供应商。最好的方法是什么?1。事件提出Monkey.BananaNeeded事件。事件处理程序设置BananaNeededEventArgs.Banana属性(property)。2。界面调用IBananaProvider.Ge

c# - 事件、委托(delegate)或接口(interface)?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭3年前。Improvethisquestion假设我有一个Monkey类,它有时需要获取一个Banana实例。猴子对提供香蕉的方式不感兴趣,但它确实启动了香蕉获取。现在我至少有三种可能的方法将我的猴子连接到香蕉供应商。最好的方法是什么?1。事件提出Monkey.BananaNeeded事件。事件处理程序设置BananaNeededEventArgs.Banana属性(property)。2。界面调用IBananaProvider.Ge

c# - Web API 自主机 - 在所有网络接口(interface)上绑定(bind)

如何使WebAPIself主机绑定(bind)到所有网络接口(interface)?我目前有以下代码。不幸的是,它只在本地主机上绑定(bind)。因此,从本地主机以外的地方访问此服务器失败。varbaseAddress=string.Format("http://localhost:9000/");using(WebApp.Start(baseAddress)){Console.WriteLine("Serverstarted");Thread.Sleep(1000000);} 最佳答案 像这样改rebase地址就可以了varbas

c# - Web API 自主机 - 在所有网络接口(interface)上绑定(bind)

如何使WebAPIself主机绑定(bind)到所有网络接口(interface)?我目前有以下代码。不幸的是,它只在本地主机上绑定(bind)。因此,从本地主机以外的地方访问此服务器失败。varbaseAddress=string.Format("http://localhost:9000/");using(WebApp.Start(baseAddress)){Console.WriteLine("Serverstarted");Thread.Sleep(1000000);} 最佳答案 像这样改rebase地址就可以了varbas

c# - 如何在接口(interface)中表示枚举?

当无法在接口(interface)中定义枚举时,我如何定义一个接口(interface),该接口(interface)的方法以Enum作为参数?因为Enum不是引用类型,所以Object类型不能用作传入参数的类型,那么怎么办呢? 最佳答案 publicenumMyEnum{Hurr,Durr}publicinterfaceMyInterface{voidMyMethod(MyEnumvalue);}如果这不是您所说的,请发表评论,以便人们了解您的问题所在。因为,虽然枚举没有在接口(interface)中定义,但这是一个完全正常且可以