草庐IT

c++栈对象的shared_ptr

全部标签

c# - 如何从 EventInfo 中获取委托(delegate)对象?

我需要从当前类中获取所有事件,并找出订阅它的方法。HereIgotsomeanswersonhowtodothat,但是当我只有EventInfo时,我不知道如何获得delegate。varevents=GetType().GetEvents();foreach(vareinevents){Delegated=e./*GetDelegateFromThisEventInfo()*/;varmethods=d.GetInvocationList();}是否可以通过EventInfo获得委托(delegate)?怎么办? 最佳答案 语句

c# - 具有泛型的对象类型中的 "apostrophe + number"是什么意思(例如 "Collection` 1")?

我有一个对象(MyObject)和一个属性(MyProperty)。我想获取它的类型名称(即String或MyClass等)。我使用:PropertyInfopropInfo=typeof(MyObject).GetProperty("MyProperty");Console.WriteLine(propInfo.PropertyType.Name);Console.WriteLine(propInfo.PropertyType.FullName);简单类型没问题,但当MyProperty是通用类型,我在获取它的名称时遇到问题(例如Collection)。它打印:Collection`

c# - 在数据库中存储具有公共(public)基类的对象

假设我有一个共同的基类/接口(interface)interfaceICommand{voidExecute();}然后有一些命令继承自这个接口(interface)。classCommandA:ICommand{intx;inty;publicCommandA(intx,inty){...}publicvoidExecute(){...}}classCommandB:ICommand{stringname;publicCommandB(stringname){...}publicvoidExecute(){...}}现在我想用一种通用方法将这些命令存储在数据库中,然后将它们全部从数据

c# - 用 ?? 实例化空对象运算符(operator)

考虑以下典型场景:if(anObject==null){anObject=newAClass();}我想知道使用??进行以下替换的想法是什么?运算符(operator):anObject=anObject??newAClass();我不确定我是否应该使用第二种形式。这似乎是一个很好的速记,但开头的anObject=anObject结构似乎有点代码味道。这是合理的做法,还是我缺少更好的简写方式?或者,“这是三行,克服它!”? 最佳答案 更新:正如O.R.Mapper所指出的,问题在于self分配是否是一种代码气味。这是我书中的6和两个

c# - 检测对象是否为 ValueTuple

我有一个用例,我需要检查某个值是否为C#7ValueTuple,如果是,则循环遍历每个项目。我尝试检查objisValueTuple和objis(object,object)但它们都返回false。我发现我可以使用obj.GetType().Name并检查它是否以"ValueTuple"开头,但这对我来说似乎很蹩脚。欢迎任何替代方案。我也有获取每个项目的问题。我尝试使用此处找到的解决方案获取Item1:HowdoIcheckifapropertyexistsonadynamicanonymoustypeinc#?但是((dynamic)obj).GetType().GetPropert

c# - 序列化对象时省略 XML 处理指令

我在C#VS2003/.Net1.1应用程序中序列化一个对象。但是,我需要在没有处理指令的情况下对其进行序列化。XmlSerializer类输出如下内容:DataMoreData有没有办法得到类似下面的东西,而不用处理结果文本来删除标签?DataMoreData对于那些好奇的人,我的代码看起来像这样......XmlSerializerserializer=newXmlSerializer(typeof(MyObject));StringBuilderbuilder=newStringBuilder();using(TextWriterstringWriter=newStringWri

c# - 短暂的对象

生成大量“英年早逝”(在垃圾收集间隔期间从未提升到下一代)的临时对象(即临时结果)的开销是多少?我假设"new"操作非常便宜,因为它实际上只是一个指针增量。然而,处理这些临时“垃圾”的隐性成本是多少? 最佳答案 不是很多——垃圾收集器对于gen0来说非常快。它还会self调整,根据每次收集的数量调整gen0的大小。(如果它设法收集了很多,它会减少gen0的大小以便下次更早收集,反之亦然。)最终的测试是您的应用程序如何执行。Perfmon在这里非常好用,可以显示GC花费了多少时间,每一代收集了多少次等等。

c# - 为什么使用 Fiddler 时 HttpWebRequest 对象的性能会提高?

我在使用HttpWebRequest时遇到了一些非常奇怪的行为,我希望有人能帮助我。我有一个控制台应用程序,它通过使用HttpWebRequest对象检索目标网站的内容来完成一些聚合工作。由于要求的性质,该应用程序是多线程的,并尝试同时建立10到30个连接(我一直在尝试一系列值)。实际的网络请求结构如下:varreq=(HttpWebRequest)WebRequest.Create(url);WebResponseresp=req.GetResponse();Streams=resp.GetResponseStream();varsr=newStreamReader(s,Encodi

c# - Autofac:如何在不绕过 IoC 容器的情况下限制 IDisposable 对象的生命周期

我目前正在学习如何使用Autofac,而且我一直坚持处理IDisposable对象确定性。在我陈述我的问题之前,让我先介绍一下情况。起始位置:假设我的对象模型是通过以下接口(interface)定义的:interfaceIApple:IDisposable{voidConsume();}interfaceIHorse{voidEat(IAppleapple);//issupposedtocallapple.Consume()}interfaceIHorseKeeper{voidFeedHorse();//issupposedtocallhorse.Eat(apple)//where'h

c# - 哪个是最好的 OLEDB 或 Excel 对象或数据库

我需要使用Excel2007文件来读取数据。对于哪个是最好的方法:使用OLEDB供应商Excel互操作对象将Excel数据转储到数据库并使用程序请指导我选择。 最佳答案 以下是我的看法:1。使用OLEDB提供程序只有在您拥有简单、统一的结构化表格时才会满足您的需求。它对您没有多大帮助,例如,如果您必须提取任何单元格格式信息。Jet引擎有问题的“行类型猜测”算法可能使这种方法几乎无法使用。但是如果可以从每个表的前几行中唯一标识数据类型,这种方法可能就足够了。优点:它速度很快,甚至可以在未安装MSExcel的机器上运行。2。Excel互