Tag: .net 2.0

如何从文件中删除xml元素?

在XML文件中,例如: code goes here code goes here 当只给出其属性名称(如abc或def )时,如何删除元素?

使用C#捕获nslookup shell输出

我有一个命令行过程,我想在C#中自动化和捕获。 在命令行中,我输入: nslookup 这会启动一个shell,它会给我一个>提示符。 在提示符下,我输入: ls -a mydomain.local 这将返回主DNS服务器及其附加的物理机的本地CNAME列表。 我想做的是从C#自动化这个过程。 如果这是一个简单的命令,我只会使用Process.StartInfo.RedirectStandardOutput = true,但第二步的要求正在绊倒我。

string.Clone()有什么用?

有两个代码示例:#1 string str1 = “hello”; string str2 = str1; //reference to the same string str1 = “bye”; //new string created 和#2 string str3 = “hello”; string str4 = (string)str3.Clone();//reference to the same string str3 = “bye”;//new string created 看起来他们是相同的不是吗? 那么使用Clone()有什么好处? 当我不能使用代码#1而不是代码#2时,你能给我一个例子吗?

允许使用.NET 2.0构建的C#应用​​程序在.NET 4.0 / 4.5上运行

我们有一个用.NET 2.0 Framework(VS2005)构建的C#DLL(我们称之为myapp.exe ),我们发现我们的应用程序不能在只安装了.NET 4.0或更高版本的机器上运行。 为了让我们的应用程序在.NET 4.0上运行,我通过以下文章向myapp.exe.config添加了以下几行: 安装.NET Framework V4.0和运行.NET 2.0 / 3.0 / 3.5 / 3.5Sp1应用程序 它正在发挥作用。 然后我看到这篇文章还提到了以下内容(特别是第二段): 现在,我知道您不能只使用3.5 Service Pack 1应用程序并在V4.0 CLR上运行它。 它需要V2.0 CLR或使用标记重新配置,以便使应用程序在V4.0 CLR上运行,并且弯曲可能是您不想做的事情。 我没有意识到的是,安装.NET 4.0不会安装2.0 / 3.0 / 3.5 / 3.5Sp1应用程序所需的位。 它只会安装V4.0 CLR和V4.0程序集,而不是另外安装相当于.NET Framework V3.5 Sp1的程序。 因此,您需要自己安装(例如).NET Framework V3.5 Sp1和.NET 4.0 根据我的测试,这意味着我可以在.NET 4.0上使用.NET 4.0框架(4.0程序集/库)运行我的2.0 C#应用程序,这与文章所说的相矛盾。 或者我在这里遗漏了什么? 如果有人能澄清这一点可能会有所帮助。 微软并没有真正说清楚这一点。

如何在c#中订阅其他类的事件?

一个简单的场景:一个引发事件的自定义类。 我希望在表单中使用此事件并对其做出反应。 我怎么做? 代码示例,请! 请注意,表单和自定义类是单独的类。

在C#中解析大型XML(大小为1GB)的最佳方法是什么?

我有一个1GB的XML文件,想要解析它。 如果我使用XML Textreader或XMLDocument,结果很慢,有时会挂起……

如何在C#中为Canvas signed_request解码OAuth 2.0?

我可以使用此处的示例成功validation已签名的Facebookcanvas应用程序请求,但我无法解码有效负载。 Facebook文档声明signed_request中的第二个参数是base64url编码的JSON对象。 在PHP中,使用json_decode对有效负载进行解码: $data = json_decode(base64_url_decode($payload), true); C#中的等价物是什么?

如果没有选择项目,如何在combobox中显示文字?

C#和.Net 2.0问题(WinForms) 我在ComboBox设置了一组项目,而没有选择它们。 我想在那种情况下在组合“ 请选择项目 ”上显示一个字符串。 当前实现只是在索引0上添加了带有此类文本的空项,并在用户选择以下项之一时将其删除。 不幸的是,空项目也显示在下拉列表中。 如何避免这种情况或以其他方式 – 当没有选择项目时,有没有办法在ComboBox上显示自定义文本? 当ComboBoxStyle设置为DropDown时,下面的答案工作( ComboBox是可编辑的)。 当ComboBoxStyle设置为DropDownList时,是否有可能这样做?

如何防止打印屏幕

我要求我正在处理的应用程序阻止用户轻松捕获屏幕内容。 我已经说过没有可行的方法可以完全防止这种情况发生,但我正在寻找方法来为这个过程引入一些障碍。 我正在使用C#/ .NET 2.0和WinForms

在SqlParameter中使用DateTime存储过程,格式错误

我正在尝试使用DateTime作为SqlParameter的值从C#,.NET 2.0调用存储过程(在SQL 2005服务器上)。 存储过程中的SQL类型是“datetime”。 从SQL Management Studio执行sproc工作正常。 但每次我从C#调用它时都会收到有关日期格式的错误。 当我运行SQL事件探查器来监视调用时,我然后复制粘贴exec调用以查看正在发生的事情。 这些是我对我尝试过的观察和注释: 1)如果我直接将DateTime作为DateTime传递或转换为SqlDateTime ,则该字段由单引号的PAIR包围,例如 @Date_Of_Birth=N”1/8/2009 8:06:17 PM” 2)如果我将DateTime作为字符串传递,我只得到单引号 3)使用SqlDateTime.ToSqlString()不会产生UTC格式的日期时间字符串(即使转换为通用时间后) 4)使用DateTime.ToString()不会产生UTC格式的日期时间字符串。 5)手动将SqlParameter的DbType设置为DateTime不会更改上述观察结果。 那么,我的问题是,我究竟是如何让C#在SqlParameter传递正确格式化的时间? 当然这是一个常见的用例,为什么这么难以开始工作? 我似乎无法将DateTime转换为SQL兼容的字符串(例如’2009-01-08T08:22:45’) 编辑 RE:BFree,实际执行sproc的代码如下: using (SqlCommand sprocCommand = new SqlCommand(sprocName)) { sprocCommand.Connection = transaction.Connection; sprocCommand.Transaction = transaction; sprocCommand.CommandType = System.Data.CommandType.StoredProcedure; sprocCommand.Parameters.AddRange(parameters.ToArray()); sprocCommand.ExecuteNonQuery(); } 详细了解我尝试过的内容: parameters.Add(new SqlParameter(“@Date_Of_Birth”, DOB)); parameters.Add(new SqlParameter(“@Date_Of_Birth”, DOB.ToUniversalTime())); parameters.Add(new SqlParameter(“@Date_Of_Birth”, DOB.ToUniversalTime().ToString())); SqlParameter param […]