Tag: .net

参考类型与值类型

我正在阅读C#中的结构和类,我的理解结构是值类型,类是引用类型。 但是当我们将类对象作为参数传递给方法时,我对它们的行为方式感到有些困惑。 假设我有以下代码: public class Program { public static void Main(string[] args) { var program = new Program(); var person = new Person { Firstname = “Bob”, }; Console.WriteLine(person.Firstname); program.ChangeName(person); Console.WriteLine(person.Firstname); program.Kill(person); Console.WriteLine(person.Firstname); Console.Read(); } public void ChangeName(Person p) { p.Firstname = “Alice”; } public void Kill(Person p) { p = null; } } 当我将Person类的实例传递给Program.ChangeName()并将Program.ChangeName()的值更改为Alice […]

无效的URI:Uri字符串太长

我正在尝试获取模式并validation我的xml。 XmlReaderSetting settings = new System.Xml.XmlReaderSettings(); settings.Schemas.Add(null, “http://example.com/myschema.xsd”); settings.ValidationEventHandler += new System.Xml.Schema.ValidationEventHandler(settings_ValidationEventHandler); settings.ValidationType = ValidationType.Schema; settings.IgnoreWhitespace = false; XmlReader reader = XmlReader.Create(xml, settings); 我明白了 Invalid URI: The Uri string is too long System.UriFormatException was unhandled Message=Invalid URI: The Uri string is too long. Source=System StackTrace: at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind) at System.Uri..ctor(String uriString, […]

如何获取安装操作系统的驱动器的名称?

在C#中,如何获取安装操作系统的驱动器的名称?

var in C# – 为什么它不能用作成员变量?

为什么不能在C#中的类级别拥有隐式类型的变量,以便立即分配这些变量? 即: public class TheClass { private var aList = new List(); } 它只是尚未实现的东西,还是存在概念/技术原因导致其未完成的原因?

C#处理呼叫,与标准输入和标准输出交互

我有一个单击按钮执行命令。 该命令可能会提示某些标准输入,我需要响应该输入,问题是程序运行的方式可能每天都不同,所以我需要解释标准输出并相应地重定向标准输入。 我有这段简单的代码,它逐行读取标准输出,当它看到密码提示时,它会发送标准输入,但程序只是挂起,因为它从未看到密码的提示,但是当我运行时批处理文件中有密码提示符。 这是我正在调用以执行此测试的批处理文件: @echo off echo This is a test of a prompt echo At the prompt, Enter a response set /P p1=Enter the Password: echo you entered “%p1%” 以下是从命令行运行时该批处理文件的输出: C:\Projects\SPP\MOSSTester\SPPTester\bin\Debug>test4.bat This is a test of a prompt At the prompt, Enter a response Enter the Password: Test1 you entered “Test1” 这是我用来调用挂起的批处理文件的C#片段: var proc […]

一个WCF服务 – 两个客户端; 一个客户端不起作用

我有一个WCF服务和两个控制台应用程序客户端。 服务:使用WCSF Blue工具从wsdl联系人创建服务代码。 客户端1:此客户端使用通过浏览svc文件获得的wsdl。 此浏览的wsdl文件与合同wsdl文件略有不同。 客户端2:使用原始wsdl合同创建此客户端。 Cleint1工作正常。 客户端2无法正常工作。 什么都可能是潜在的问题? 两个客户端的App.Config文件看起来相似 – 只有名称更改。 我认为,问题将在客户端C#代码生成 – 最有可能在Action – ReplyAction中 。 这里有什么需要纠正的? 一个明显的区别在于Action和ReplyAction 客户1: Action =“urn:lijo:demos:multiplyservice:calculation:v1 / ICalculationService / GetMultiplied”,ReplyAction =“urn:lijo:demos:multiplyservice:calculation:v1 / ICalculationService / GetMultipliedRe”+“sponse” 客户2: Action =“urn:lijo:demos:multiplyservice:calculation:v1:getMultipliedIn”,ReplyAction =“*” 跟踪消息 由于EndpointDispatcher上的ContractFilter不匹配,因此无法在接收方处理Action’urn:lin:demos:multiplyservice:calculation:v1:getMultipliedIn’的消息。 这可能是由于合同不匹配(发送方与接收方之间的操作不匹配)或发送方与接收方之间的绑定/安全性不匹配。 检查发送方和接收方是否具有相同的合同和相同的绑定(包括安全要求,例如消息,传输,无)。 编辑 这可以通过更改Action和ReplyAction来更正,如下所示(从服务中复制)。 [System.ServiceModel.OperationContractAttribute(Action = “urn:lijo:demos:multiplyservice:calculation:v1/ICalculationService/getMultiplied”, ReplyAction = “urn:lijo:demos:multiplyservice:calculation:v1/ICalculationService/getMultipliedRe” + “sponse”)] 注意:确保服务中的shell正确是很重要的(即,getMultiplied不是GetMultiplied) 从服务中复制不是一个好的选择,尽管它有效。 什么是正确的Action和ReplyAction? 另外,您能否指出如何修改wsdl以使ReplyAction在生成的客户端代理中正确 ? […]

将DateTimeOffset作为WebAPI查询字符串传递

我有一个WebAPI动作,如下所示: [Route(“api/values/{id}”)] public async Task Delete(string id, DateTimeOffset date) { //do stuff } 但是当我从HttpClient实例调用它时,创建一个类似于的URL: string.Format(“http://localhost:1234/api/values/1?date={0}”, System.Net.WebUtility.UrlEncode(DateTimeOffset.Now.ToString())); // -> “http://localhost:1234/api/values/1?date=17%2F02%2F2015+7%3A18%3A39+AM+%2B11%3A00” 我收到400响应,说不可存在的参数date不存在。 我也尝试将[FromUri]属性添加到参数中,但它仍然没有映射。 如果我将其更改为DateTimeOffset? 我可以看到它被保留为null并查看Request.RequestUri.Query值是否存在,只是没有映射。 最后我尝试不做WebUtility.UrlEncode ,它没有任何不同。

比较XML文件是否相同的最佳方法是什么?

我正在使用.NET 2.0,最近的代码更改使我之前的Assert.AreEqual调用失效(它比较了两个XML字符串)。 在新的代码库中,只有一个XML元素实际上是不同的,所以我希望对所有其他元素进行比较会得到我想要的结果。 比较需要以编程方式完成,因为它是unit testing的一部分。 起初,我正在考虑使用几个XmlDocument实例。 但后来我发现了这个: http : //drowningintechnicaldebt.com/blogs/scottroycraft/archive/2007/05/06/comparing-xml-files.aspx 看起来它可能会起作用,但我对Stack Overflow反馈很感兴趣,以防有更好的方法。 如果可能的话,我想避免为此添加另一个依赖项。 类似的问题 NUnit是否有XML断言? 你会如何比较两个XML文档?

如何确定MethodInfo是否是基本方法的覆盖

我试图确定我从类型实例上的GetMethod调用获得的MethodInfo对象是由类型还是由它的基类实现的。 例如: Foo foo = new Foo(); MethodInfo methodInfo = foo.GetType().GetMethod(“ToString”,BindingFlags|Instance); ToString方法可以在Foo类中实现。 我想知道我是否得到了foo实现? 相关问题 是否可以判断派生类中是否已覆盖.NET虚方法?

内置.NET函数,用于在XML流中转义字符?

所以,我有一些以下forms的数据: <foo><bar>test</bar></foo> 我希望使用哪些.NET类/函数将其转换为漂亮的东西,然后将其写入文件,如下所示: test 请具体说明函数和类,而不仅仅是“使用System.XML”。 使用XML在.NET中似乎有很多不同的方法:( 谢谢