草庐IT

c# - 在Delphi中调用nil引用的方法是 "supported"吗?

以下Delphi程序根据nil引用调用方法并运行良好。programProject1;{$APPTYPECONSOLE}typeTX=classfunctionStr:string;end;functionTX.Str:string;beginifSelf=nilthenbeginResult:='nil'endelsebeginResult:='notnil'end;end;beginWriteln(TX(nil).Str);Readln;end.但是,在结构相似的C#程序中,将引发System.NullReferenceException,这似乎是正确的做法。namespaceCo

c# - 为什么我(有时)必须引用我引用的程序集所引用的程序集?

我有一个程序集A,它定义了一个带有一些重载的接口(interface):publicinterfaceITransform{PointInverseTransform(Pointpoint);RectInverseTransform(Rectvalue);System.Drawing.PointInverseTransform(System.Drawing.Pointpoint);}...以及引用A(二进制文件,而非项目)并调用其中一个重载的程序集B:vartransform=(other.Source.TransformToDisplay!=null&&other.Source.Tr

c# - 等待 TcpClient 数据可用的最佳方式?

while(TcpClient.Client.Available==0){Thread.Sleep(5);}有更好的方法吗? 最佳答案 当然!只需在流上调用Read(...)即可。这将阻塞直到数据可用。除非您真的必须直接使用TcpClient,否则我通常会尽可能多地在流上进行操作。如果您想使用套接字,只需调用Receive(byte[])它将阻塞直到数据可用(或套接字关闭)。现在如果不想阻塞,可以使用Stream.BeginRead或Socket.BeginReceive异步工作。(或从.NET4.5开始的ReadAsync。)我个

c# - .Net 中可用的并行技术

我是.Net平台的新手。我搜索了一下,发现在.Net中有几种方法可以进行并行计算:任务并行库中的并行任务,即.Net3.5。PLINQ、.Net4.0异步编程,.Net2.0,(异步主要用于执行I/O繁重的任务,F#具有支持此功能的简洁语法)。我列出这个是因为在Mono中,似乎没有TPL或PLINQ。因此,如果我需要编写跨平台并行程序,我可以使用异步。.Net线程。没有版本限制。您能否就这些给出一些简短的评论或在此列表中添加更多方法? 最佳答案 您确实需要进行大量研究才能确定如何有效地使用多线程。有一些不错technicalarti

c# - 该组中没有可用的控件。将项目拖到此文本上以将其添加到工具箱“Visual Studio 2012

这不是编程问题,而是关于Visualstudioexpress2012的问题。尝试在visualstudio2012中创建新报告,但看不到数据集列表、参数等:在常规选项卡中,我看到了这个“该组中没有可用的控件。将一个项目拖到该文本上以将其添加到工具箱中”我已经搜索修复它,但直到现在都没有成功.. 最佳答案 我今天遇到了同样的问题并阅读了很多东西,例如“这是VS错误......”但解决方案比这简单得多,我只需要停止调试(Shift+F5)。如果这不起作用,我建议重新启动IDE。如果这不起作用,我想卸载VS并进行全新安装是您正在寻找的答

c# - 我如何使用 NUnit 创建一个通用的 BaseTest,我可以从它继承并从 base 运行测试?

所以基本上我有一个域对象和一个可以对该对象执行CRUD操作的通用存储库。publicinterfaceIBaseRepositorywhereT:BaseEntity{voidAdd(Tentity);voidRemove(Tentity);TById(intid);IEnumerableAll();}所以我有这个接口(interface)的多个实现,每个域对象一个。我想写一些集成测试(使用nunit),为此我想我会做一个BaseRepositoryTest-像这样:publicabstractclassBaseRepositoryTestswhereT:BaseEntity{publ

c# - 为什么 C# 编译器可以 "see"静态属性,而不是实例方法,在未引用的 DLL 中的类?

我的问题的前提,用简单的英语:名为Foo的库依赖于名为Bar的库Foo中的类扩展了Bar中的类Foo定义简单传递给Bar的属性/方法应用程序FooBar仅依赖于Foo考虑以下示例:classProgram{staticvoidMain(string[]args){Foofoo=Foo.Instance;intid=foo.Id;//Compilerishappyfoo.DoWorkOnBar();//Compilerisnothappy}}Foo定义如下publicclassFoo:Bar{publicnewstaticFooInstance{get=>(Foo)Bar.Instanc

c# - 设计可从 F# 良好使用的 C# 库的指南

我只是想指出这个问题不是BestapproachfordesigningF#librariesforusefrombothF#andC#在这里,我不是在问如何设计一个用C#编写的函数库,以在两个世界中使用。我想了解有关设计选择包含或避免哪些方面的良好做法,以便做出合理的妥协,使该库可从F#使用.实践如(例如):保持对象层次结构尽可能简单避免改变对象的状态,但返回新的状态等...谁做过,可以分享一下经验吗?旁注有趣的是这个OSS项目,IronJS.是的,它是用F#编写的,但作者公开了两个专用主机IronJS.Hosting.FSharp和IronJS.Hosting.CSharp。

c# - 重新编译引用的程序集时常量值不变

我在程序集中有这段代码:publicclassClass1{publicconstintx=10;}在一个不同的程序集里我有:classProgram{staticvoidMain(string[]args){Console.WriteLine(Class1.x);Console.ReadKey();}}当然输出是10,但是后来我把x改成了20:publicclassClass1{publicconstintx=20;}我重新编译了程序集并将其移动到我的命令行程序的bin目录中。然而,我的程序的输出仍然是10,直到我编译了包含main函数的程序集。为什么会这样?

c# - 如何获取报告服务实例上可用的报告列表

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭4年前。Improvethisquestion我正在尝试在C#中枚举用户在报告服务上的报告。我该怎么做?是否有我应该使用的Web服务调用,或者我应该只获取从http://localhost/ReportServer/lists.asmx返回的html把它拆开?第二个选项听起来有点玄乎。当然有更好的方法吗?