Tag: 接口

此接口是否已存在于标准.NET库中?

我发现自己需要一个简单的通用接口,我写了它,但结果却是世界上最简单的接口。 我想知道它是否已经存在其他名称。 我只是想确保我不会重新发明已经包含在.NET框架中的东西。 interface IReceiver { void Receive(T obj); } 我无法找到.NET附带的“标准”接口的良好列表。 这个界面的结构对任何人来说都很熟悉吗? 我是否重新设计了已经标准化的东西? 编辑:我有一个数据对象和许多对接收数据感兴趣的对象。 对接收数据感兴趣的对象实现接口,因此“路由”列表和映射可以将数据发送给它们。 这个想法是在路由中完全泛化,路由将是数据驱动的。

使用ExeCOMServer时,无法将类型为“…”的COM对象转换为接口类型“…”

我正在使用这个exe com服务器: https://cfx.svn.codeplex.com/svn/Visual%20Studio%202008/CSExeCOMServer/ExeCOMServer.cs 我的编程是一个com应用程序 采用另一个com对象的我的com方法是void Init(AppsScriptRunningContext rc); 在这个方法中,我尝试读出一个属性并得到此错误 无法将“AppsScriptLib.AppsScriptRunningContextClass”类型的COM对象强制转换为接口类型“AppsScriptLib.IAppsScriptRunningContext”。 此操作失败,因为对于具有IID“{4D2E5723-87C2-49C1-AA28-ED2D88275100}”的接口的COM组件的QueryInterface调用由于以下错误而失败:不支持此类接口(HRESULTexception:0x80004002(E_NOINTERFACE)) 如果我的应用程序不是com服务器而是普通的com应用程序,则没有错误。 这就是为什么我认为错误是由exe com服务器产生的。 https://cfx.svn.codeplex.com/svn/Visual%20Studio%202008/CSExeCOMServer/ExeCOMServer.cs 问候,克里斯

不是按名称指定接口成员,而是键入

我有一些来自某些外部WSDL文件的svcutil生成的类似类。 任何类都有一个Header属性和string属性,它名为class name + “1” 。 例如,我有类:具有Header属性和SimpleRequest1属性的SimpleRequest1 。 另一个是具有Header属性和ComplexRequest1属性的ComplexRequest1 。 所以,我想为这些类创建一个通用接口。 所以,基本上我可以定义类似的东西: interface ISomeRequestClass { string Header; // here is some definition for `class name + “1”` properties… } 是否可以在界面中定义这样的成员? 这是post编辑去… 以下是生成的类的示例: [System.Diagnostics.DebuggerStepThroughAttribute()] [System.CodeDom.Compiler.GeneratedCodeAttribute(“System.ServiceModel”, “3.0.0.0”)] [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] public partial class SimpleRequest { public string Header; [System.ServiceModel.MessageBodyMemberAttribute(Name=”SimpleRequest”, Namespace=”data”, Order=0)] public SimpleRequestMsg SimpleRequest1; public SimpleRequest() { } public […]

c#接口实现 – 为什么这不构建?

很抱歉,如果之前有人询问过,但谷歌几乎不可能。 我认为int数组实现IEnumerable,因此Thing应该能够实现IThing。 怎么没有? public interface IThing { IEnumerable Collection { get; } } public class Thing : IThing { public int[] Collection { get; set; } } 注意 public class Thing : IThing { public int[] Array { get; set; } public IEnumerable Collection { get { return this.Array; } } } 很好。

参数化通用接口 – 创建一个Dictionary <Type,Interface >?

对不起,标题令人困惑,我不知道我说的是对的,不知道这个叫做什么……如果你想要的话,请在阅读问题后随意编辑。 当我注意到有很多地方可以使用策略模式时,我正在重构我的旧代码。 我有一个库存系统和物品 – 有多种方法可以添加物品 – 正常方式,有力的方式等等。您还可以用多种方式再次交换物品 – 所以我认为那些是好地方使用那种模式。 这是我有的,用于添加项目: public interface IAddingStrategy where T : AddArgs { bool Add(T args); } public class NormalAdd : IAddingStrategy { public bool Add(NormalAddArgs args) { // normal adding logic… } } public class ForceAdd : IAddingStrategy { public bool Add(ForceAddArgs args) { // force adding logic… } […]

发现接口依赖性

我接管了一个非常大的(> 2M SLOC)软件项目的维护,所有这些都是用C#编写的。 文档很少。 我现在想要对具有公共接口(大约400)的模块进行更改,但我不知道解决方案中的所有其他模块(总共大约50个)可能正在使用此公共接口。 如何为这种情况创建接口依赖性使用树? 代码库太大,无法简单地导航Project Explorer并阅读源代码。 您使用了哪些工具或方法来创建此类依赖性分析树? 我不想购买任何工具。 诸如Class View之类的Visual Studio工具似乎不能很好地处理这种大小的项目。 我已经考虑过编写自己的sed / awk / perl-ish脚本,它只是简单地遍历源代码并使用模式匹配来构建我自己的依赖/接口使用数据库,但是如果有的话,我不想做一些艰难的事情。一个简单的方法。 谢谢!

从其他接口inheritance的接口的显式C#接口实现

考虑以下三个接口: interface IBaseInterface { event EventHandler SomeEvent; } interface IInterface1 : IBaseInterface { … } interface IInterface2 : IBaseInterface { … } 现在考虑以下实现IInterface1和IInterface 2的类: class Foo : IInterface1, IInterface2 { event EventHandler IInterface1.SomeEvent { add { … } remove { … } } event EventHandler IInterface2.SomeEvent { add { … } remove { … } […]

C#Windows安全中心设置

我想在Windows中禁用Action Center消息。 我知道注册表在哪里保存这些检查的值,但这些是特定于机器的。 我知道我可以禁用完整的服务。 但我不想禁用该服务,我只想不显示通知/警报/消息。 要查看这些选项,我说的是goto:cmd.exe – > RunDll32.exe shell32.dll,Control_RunDLL wscui.cpl 将启动安全中心,然后单击“更改操作中心设置”左侧的。 现在我在我的C#项目中引用了“C:\ Windows \ System32 \ wscui.cpl”并添加了 using SecurityCenterAdmin; 我看到我可以创建这个对象了 SecurityCenterAdmin.WscAdmin admin = new WscAdmin(); admin.DoModalSecurityAction(); 但我找不到关于它的参考。 在Google上搜索“WscAdmin msdn”或“SecurityCenterAdmin”不会产生任何结果。 任何提示? 提前致谢。 麦克风

为什么我们应该实现接口?

实现接口只提供方法的框架。 如果我们知道该方法的确切签名行,在这种情况下 实现接口的要求是什么? 这是实现接口的情况 interface IMy { void X(); } public class My:IMy { public void X() { Console.WriteLine(“Interface is implemented”); } } 这是Interface尚未实现的情况 public class My { public void X() { Console.WriteLine(“No Interface is implemented “); } } My obj = new My(); obj.X(); 这两种方法都会产生相同的结果。 实现接口的要求是什么?

C# – 如何引用一个引用任何实现一组接口的对象的类型?

我怎样才能有一个类型引用引用任何实现一组接口的对象? 例如,我可以使用这样的generics类型: Java的: public class Foo { } C# public class Foo where T : A, B { } 这就是如何拥有类范围的generics类型。 但是,我想简单地拥有一个数据成员,它引用任何扩展给定接口集的对象。 例: public class Foo { protected object; public void setObject( object) { this.object = object; } } 如果有可能有这种类型的语法,我怎么能在Java和C#中做到这一点? 我意识到我可以创建另一个扩展所有所需接口的接口。 但是,我不认为这是最优的,因为它不必要地添加另一种类型,其唯一目的是绕过语法。 虽然这是一个非常小的问题,但就优雅而言,它有点令人痛苦。