草庐IT

dll-interface

全部标签

c# - 查找所有父类型(包括基类和接口(interface))

我希望能够找到特定类型的所有父类型(基类和接口(interface))。EG如果我有classA:B,C{}classB:D{}interfaceC:E{}classD{}interfaceE{}我想知道A是BCDandEandObject最好的方法是什么?有没有一种反射(reflection)方法可以做到这一点,或者我需要自己做点什么。====编辑====是这样的吗?publicstaticIEnumerableParentTypes(thisTypetype){foreach(Typeiintype.GetInterfaces()){yieldreturni;foreach(Typ

c# - Visual Studio 找不到我引用的 DLL 的命名空间

这是一个非常令人沮丧的问题。突然间我无法使用引用的DLL。我在同一解决方案中添加了对项目的程序集引用,但命名空间无法识别。我什至可以在对象查看器中看到引用。我还在没有客户端配置文件的情况下将项目更改为.NET4和3.5,但无济于事。 最佳答案 基于您的screenshot,您在多个项目中引用了同一个“ServerLibrary”DLL,但是,看起来一个引用版本是在.NET3.5中编译的,而另一个引用版本(它出现的项目引用)是在.NET4中编译的。确保所有项目都指向相同版本的DLL并重新编译所有项目。那应该可以解决您的问题。

c# - 为 WCF 实现接口(interface)时不能使用可选参数

在我的界面中我已经声明了这一点。[OperationContract][WebGet]StringGetStuff(Stringbeep,Stringboop="toolazytotype");我是这样实现的。StringGetStuff(Stringbeep,Stringboop="toolazytotype"){...}它编译并上传为我的WCF服务。但是,当我将它用作Web引用并尝试执行下面的代码时,编译器提示说没有带有单个参数签名的方法。最后一行是问题所在。我怎么能懒得打字默认?ServiceClientclient=newServiceClient();client.GetSt

c# - 使用 ReSharper 按照与已实现接口(interface)相同的顺序排列成员

是否可以使用ReSharper的类型布局功能按照接口(interface)中声明的相同顺序对实现接口(interface)的成员进行排序? 最佳答案 不,不幸的是你不能直接这样做。但是,正如Kirill所说,您可以使用相同的规则让他们订购。此外,您可以通过修改CodeCleanup配置文件让Resharper将接口(interface)的成员分组到一个区域中:另请参阅:ResharperDoc自动分组和排序后,您可以通过Resharper“文件结构”调整结果。 关于c#-使用ReShar

c# - 如何为库 (dll) 添加 Intellisense 工具提示支持

如何为intellisense提供我在我的类(在库中)中创建的XML注释?我已经为每个方法添加了XML注释,例如://////Dosomeconnectionrequest...//////Requiredforxyz...publicvoidConnect(intval){//Somecode...}然后我标记了创建“XML文档文件”的复选框,并为其命名为“MyAssembly.xml”。重建我的解决方案(创建了一个dll和一个XML文件)。将dll添加到另一个c#项目,但那里的智能感知没有显示我的XML注释...我做错了什么? 最佳答案

c# - .NET-Assemblies 的默认 (assembly).dll.config 文件有什么用?

我对C#中的AppSettings有疑问。首先,我将描述我的情况。我的解决方案包含一个可执行程序program.exe和一个assembly.dll.程序引用程序集并使用它。程序集项目具有使用VisualStudio项目设置管理器设置的应用程序设置。现在,当我在assembly\bin\release中编译我的解决方案时文件夹中有一个assembly.dll.config包含我之前设置的设置的文件。现在我不明白的是:在我引用assembly.dll的程序项目中我检查了CopyLocal=True,但在我的program\bin\release文件夹只有assembly.dll但不是as

c# - 3rd 方库引用不同版本的 log4net.dll

我有两个对我的应用程序至关重要的库,它们依赖于不同版本的log4net.dll。当我正在使用的第3方部分被调用时,在我的bin文件夹中尝试这两个dll会出现通常的错误:无法加载文件或程序集“log4net,Version=1.2.10.0,Culture=neutral,PublicKeyToken=1b44e1d426115821”或其依赖项之一。找到的程序集的list定义与程序集引用不匹配。(HRESULT异常:0x80131040)有没有一种方法可以让应用程序同时引用这两个dll?第三方dll是Windsor的IOC容器和Paypal的API,两者都对这个应用程序至关重要。

c# - 添加对 dll 的引用与在 .NET Standard 项目中添加 NuGet 包

我的解决方案中有一个.NETStandard2.0项目,我正在使用IConfiguration接口(interface)。当我写名字时,VS提示我引用Microsoft.Extensions.Configuration.Abstractions.dll。如果我这样做,它会添加到引用节点下。不过,我也可以将其添加为NuGet包。这两种方式似乎都有效。我假设引用VS建议是通过项目中引用的.NETStandardSDK添加的。添加该引用的推荐方法是什么?每种方法的优点和缺点是什么? 最佳答案 直接从手动下载或安装在已知位置的NuGet包引

c# - 从 DLL 重建 Unity 项目?

我丢失了位于硬盘上的Unity项目。幸运的是,我找到了一些与我的项目相关的文件。参见here.现在,我已经使用.NETReflector成功地将Assembly-CSharp.dll转换为等效的C#,但是我找不到重建我的Unity项目的方法...(或者至少是一个很好的一部分)我该怎么做?从逻辑上讲,我现在拥有的文件是我们重新创建项目所需的全部。感谢您的帮助。如果您希望上传文件,请在下方评论。我最初的Unity项目(我工作了几个月)通过触摸、滑动、轻弹或按箭头按钮在菜单之间进行转换。.NET反射器:http://www.red-gate.com/products/dotnet-devel

c# - 为什么在值类型上调用显式接口(interface)实现会导致它被装箱?

我的问题与这个问题有些相关:Howdoesagenericconstraintpreventboxingofavaluetypewithanimplicitlyimplementedinterface?,但有所不同,因为它根本不是通用的,因此不需要约束来执行此操作。我有密码interfaceI{voidF();}structC:I{voidI.F(){}}staticclassP{staticvoidMain(){Cx;((I)x).F();}}主要方法编译成这样:IL_0000:ldloc.0IL_0001:boxCIL_0006:callvirtinstancevoidI::F()