Tag: C#的

以stringforms获取财产的名称

(请参阅下面我使用我接受的答案创build的解决scheme) 我正试图提高涉及reflection的一些代码的可维护性。 该应用程序有一个.NET Remoting接口公开(除其他外)一个名为Execute的方法,以访问未包含在其已发布的远程接口中的应用程序部分。 下面是应用程序如何指定属性(在这个例子中是一个静态的属性),这些属性可以通过执行来访问: RemoteMgr.ExposeProperty("SomeSecret", typeof(SomeClass), "SomeProperty"); 所以远程用户可以调用: string response = remoteObject.Execute("SomeSecret"); 并且应用程序将使用reflection来查找SomeClass.SomeProperty并以stringforms返回其值。 不幸的是,如果有人重命名SomeProperty并忘记更改ExposeProperty()的第三个参数,它会打破这个机制。 我需要相当于: SomeClass.SomeProperty.GetTheNameOfThisPropertyAsAString() 作为ExposeProperty中的第三个参数使用,所以重构工具将负责重命名。 有没有办法做到这一点? 提前致谢。 好的,这是我最终创build的(根据我select的答案和他所引用的问题): // <summary> // Get the name of a static or instance property from a property access lambda. // </summary> // <typeparam name="T">Type of the property</typeparam> // <param name="propertyLambda">lambda expression of the form: '() => […]

格式化IO函数(* printf / * scanf)中的转换说明符%i和%d有什么区别?

在printf用作格式说明符时, %d和%i之间有什么区别?

如何限制并发asynchronousI / O操作的数量?

// let's say there is a list of 1000+ URLs string[] urls = { "http://google.com", "http://yahoo.com", … }; // now let's send HTTP requests to each of these URLs in parallel urls.AsParallel().ForAll(async (url) => { var client = new HttpClient(); var html = await client.GetStringAsync(url); }); 这是问题,它启动1000多个并发的Web请求。 有没有简单的方法来限制这些asynchronousHTTP请求的并发量? 因此,在任何时候都不会有超过20个网页被下载。 如何以最有效的方式做到这一点?

操作员将内存初始化为零

有这样的代码: #include <iostream> int main(){ unsigned int* wsk2 = new unsigned int(5); std::cout << "wsk2: " << wsk2 << " " << *wsk2 << std::endl; delete wsk2; wsk2 = new unsigned int; std::cout << "wsk2: " << wsk2 << " " << *wsk2 << std::endl; return 0; } 结果: wsk2: 0x928e008 5 wsk2: 0x928e008 0 […]

generics有什么好处,为什么要使用它们?

我想我会提供这个垒球给任何人想要打到公园外面的人。 generics是什么,generics的优点是什么,为什么,在哪里,我应该如何使用它们? 请保持相当基本。 谢谢。

没有输出到WPF应用程序的控制台?

我从一个非常简单的WPFtesting应用程序使用Console.WriteLine(),但是当我从命令行执行应用程序时,我看不到任何东西被写入控制台。 有人知道这里可能会发生什么吗? 我可以通过在VS 2008中创build一个WPF应用程序来重现它,并在任何执行的地方添加Console.WriteLine(“text”)。 有任何想法吗? 我现在需要的只是Console.WriteLine()这样简单的东西。 我意识到我可以使用log4net或其他日志logging解决scheme,但我真的不需要这个应用程序的多lessfunction。 编辑:我应该记住,Console.WriteLine()是为控制台应用程序。 哦,没有愚蠢的问题,对不对? :-)我现在只使用System.Diagnostics.Trace.WriteLine()和DebugView。

将datetime2数据types转换为date时间数据types会导致超出范围的值

我有一个5列的数据表,其中一行正在填充数据,然后通过事务保存到数据库。 在保存时,将返回一个错误: 将datetime2数据types转换为date时间数据types会导致超出范围的值 它意味着,如所读,我的数据表有一个DateTimetypes和我的数据库DateTime ; 那是错的。 date列被设置为这样的date时间: new DataColumn("myDate", Type.GetType("System.DateTime")) 题 这可以通过代码来解决,还是需要在数据库级别上进行更改?

Win32 API函数以编程方式启用/禁用设备

我正在编写一个小型的C#应用​​程序,以便在检测到另一个鼠标设备时禁用设备(我的笔记本电脑触摸板),并在未检测到鼠标时再次启用触摸板。 我甚至无法禁用设备pipe理器中的触摸板(它运行在默认的鼠标类驱动程序上)。 我正在进入设备驱动程序开发,所以我想也许我可以写一个filter驱动程序,只接受IOCTLs启用和禁用在设备堆栈上传递鼠标事件消息,并通过原始PDO从用户模式获取消息。 但是, 我问这个问题 ,有人build议我可以通过SetupDi ..函数在用户模式下执行此操作。 这将是非常好的,因为这个原始的PDO通信方法是一个PITA的工作。 我以前只使用过SetupDiGetClassDevs ,而且有很多这样的人,对于这部分Win32 API有更多经验的人可以快速告诉我应该调用什么来停止/禁用鼠标设备或其接口,或者如果有在框架的黑暗angular落里会有这样的事情发生(也许在WMI中)。 更新(2009年9月24日)我想出了如何使用filter驱动程序来做这件事,并发布了我的原始问题 。 我仍然想知道是否有可能直接从Win32启用或禁用设备,如果是这样的话,那么我将把这个问题留给开放。

.NET中的“open generic type”究竟是什么?

我正在通过Asp.Net MVC课程,并了解到,对于一个方法来作为控制器的行动, 它不能有一个“开放的genericstypes” 我对generics有所了解,并在一定程度上使用它们,但是: 什么是.NET中的开放式generics 。 有这样一个封闭genericstypes的东西吗? 开放genericstypes是一个不经常使用的术语。 什么使用/与它混淆?

为什么GCC在执行整数除法时使用奇数乘法?

我一直在阅读关于div和mul汇编操作,我决定通过在C: 文件分割 #include <stdlib.h> #include <stdio.h> int main() { size_t i = 9; size_t j = i / 5; printf("%zu\n",j); return 0; } 然后生成汇编语言代码: gcc -S division.c -O0 -masm=intel 但看着生成的division.s文件,它不包含任何div操作! 相反,它做了一些与位移和魔术数字的黑魔法。 这是一个计算i/5的代码片段: mov rax, QWORD PTR [rbp-16] ; Move i (=9) to RAX movabs rdx, -3689348814741910323 ; Move some magic number to RDX (?) mul […]