Tag: namespaces

using指令究竟做了什么?

在MSDN上,我可以阅读它的function,但我想知道它在技术上做了什么(告诉编译器在哪里寻找类型……)? 我的意思是用作指令。

使用XElement查询命名空间中的节点

我试图从一个看起来像这样的csproj文件中提取一个节点,但是无法让它工作 – 可能是因为名称空间声明。 true 这失败了: XDocument cpo = XDocument.Load(file); XmlNamespaceManager nsm = new XmlNamespaceManager(new NameTable()); nsm.AddNamespace(“x”, “http://schemas.microsoft.com/developer/msbuild/200”); IEnumerable list3 = cpo.XPathSelectElements(“//x:RegisterForComInterop[.=’true’]”, nsm); 有什么想法吗? 谢谢。

C# – 将文本文件作为类加载

有没有办法将.txt文件作为一个类加载,我的主程序可以从中调用函数? 我基本上试图将mod支持添加到我的简单应用程序中,用户可以从每个文件中选择选项。 该文件遵循类似(但不相同)的格式,在主程序中调用一堆空白(函数)。 我怎样才能做到这一点? 甚至可能这样做(可能不是,回答我自己的问题?),考虑到它不会与程序的其余部分一起编译? 谢谢!

“已组装相同的简单名称已导入”错误

这是一个CLR项目。 我正在导入两个具有相同名称的DLL文件quizz.dll (我将旧版本重命名为legacyquizz.dll ),并将较新版本作为quizz.dll到旧版转换器测试项目中。 (正在测试的旧版转换器项目只导入旧的quizz.dll )。 这是我得到的错误。 。 。 已导入具有相同简单名称“Quizz,Version = 2.0.0.1,Culture = neutral,PublicKeyToken = null”的程序集。 尝试删除其中一个引用或签名以并排启用。 C:\ 。 。 。 \ Quizz.dll 它指向的路径是较新版本的quizz.dll的目标。 我在legacyquizz.dll文件上使用外部别名: extern alias legacy; 在这种情况下,什么是“简单名称”?

为什么C#没有头文件? 命名空间会处理所有事情吗?

我是一名新手程序员,谁能清楚地说出C#中头文件和命名空间的用法? 因为在C ++中我使用******.h文件来读取库函数。 当我在C#中看到一些示例程序时,他们失踪了,有人可以告诉我为什么吗? 我正在使用C#为机械CAD软件开发自定义工具,每当我使用适当的函数打开文件(CAD文件)时,编译器都会给我一个错误,指出我提供的函数名称不可用于上下文。 这里的语境是什么意思? 当我打开该CAD应用程序的帮助文件时,在名为uf_part.h的头文件下提到了负责打开文件的function。 但是有一个名为NXopen的命名空间。 我使用命名空间在Visual Basic中using NXopen ,还不够吗? 我是否还需要提供该头文件? 如果是这样的话? 请帮助我。

WCF服务引用名称空间与原始名称不同

关于我的服务引用所使用的命名空间,我遇到了问题。 我有许多WCF服务,比如命名空间MyCompany.Services.MyProduct ( 实际名称空间更长 )。 作为产品的一部分,我还提供了一个示例C#.NET网站。 此Web应用程序使用命名空间MyCompany.MyProduct 。 在初始开发期间,该服务被添加为网站的项目参考并直接使用。 我使用了一个工厂模式,它返回一个实现MyCompany.Services.MyProduct.IMyService的对象实例。 到现在为止还挺好。 现在我想更改它以使用实际的服务引用。 添加引用并在命名空间文本框中键入MyCompany.Services.MyProduct后,它将在命名空间MyCompany.MyProduct.MyCompany.Services.MyProduct中生成类。 坏! 我不想仅仅因为我正在使用代理类而在几个地方using指令进行更改。 所以我尝试使用global::前置命名空间,但是不接受。 请注意,我还没有删除原始程序集引用,并且启用了“重用类型”,但显然没有重用。 但是,我不想在我的示例网站中保留程序集引用,以使其无论如何都能正常工作 。 到目前为止,我提出的唯一解决方案是将我的Web应用程序的默认命名空间设置为MyCompany (因为它不能为空),并将服务引用添加为Services.MyProduct 。 假设客户想要使用我的示例网站作为起点,他们将默认命名空间更改为OtherCompany.Whatever ,这显然会破坏我的解决方法。 这个问题有一个很好的解决方案吗? 总结一下 :我想在原始命名空间中生成服务引用代理,而不引用程序集。 注意:我已经看到了这个问题 ,但没有提供可用于我的用例的解决方案。 编辑:正如John Saunders建议的那样,我已向微软提交了一些反馈: 反馈项目@ Microsoft Connect

validationVAB配置文件中的程序集和名称空间

我们正在使用validation应用程序块的4.1版。 我相对较新,所以我想知道它是否有能力抽象出配置的命名空间和程序集,或者提供其存在的正确validation? 我们最近遇到了一个问题,即有人移动了一个类,并且没有使用新的命名空间更新validation配置文件。 结果,validation不再应用于对象。 应用程序块似乎只是忽略了差异。 不幸的是,在正常的QA周期中没有发现这种情况。 是否有任何内置的方法可以保护自己免受未来这种变化的影响? 我在过渡期间所做的是加载config xml,提取出所有程序集和定义的名称空间并validation它们是否都存在。

如何使用XMLSerializer添加没有前缀的默认命名空间

我正在尝试使用XmlSerializer生成一个包含默认命名空间而没有前缀的XML文档,例如 使用以下代码…… string xmlizedString = null; MemoryStream memoryStream = new MemoryStream(); XmlSerializer xs = new XmlSerializer(typeof(ExportMyRecord)); XmlSerializerNamespaces xmlnsEmpty = new XmlSerializerNamespaces(); xmlnsEmpty.Add(string.Empty, string.Empty); XmlTextWriter xmlTextWriter = new XmlTextWriter(memoryStream, Encoding.UTF8); xs.Serialize(xmlTextWriter, myRecord, xmlnsEmpty); memoryStream = (MemoryStream)xmlTextWriter.BaseStream; xmlizedString = this.UTF8ByteArrayToString(memoryStream.ToArray()); 和class级结构…… [Serializable] [XmlRoot(“MyRecord”)] public class ExportMyRecord { [XmlAttribute(“ID”)] public int ID { get; set; } 现在,我尝试了各种选择…… XmlSerializer […]