草庐IT

外参数

全部标签

c# - 不能为接口(interface)模拟传递构造函数参数

当我调试代码并阅读创建mockLessonplannerAFactory的行时,我收到错误:Constructorargumentscannotbepassedforinterfacemocks.varmockSchoolclassCodeService=newMock();varmockDateService=newMock();varmockLessonplannerAFactory=newMock(mockDateService.Object);varmockLessonplannerBFactory=newMock(mockDateService.Object);varserv

c# - 我可以在没有 .net 中的 .config 文件的情况下指定 supportedRuntime(或任何其他配置参数)吗?

我有一个WinForms应用程序,只需.exe文件即可轻松部署。它使用框架2.0,因此默认情况下它不能在Windows8上运行。如果我包含一个具有以下参数的.config文件,它在W8上工作正常:但是,现在我必须部署两个文件,这是NotAcceptable。我可以做些什么来将这些参数“嵌入”到exe本身中吗?我尝试过使用WinZip自解压器,但它也不是一个选项,因为我无法自定义它的界面。 最佳答案 .NET可执行文件包含一小段native代码,旨在将适当的CLR版本加载到进程中。加载程序调用shim(MSCOREE.DLL,.NET

c# - 为什么 ArgumentNullException 和 ArgumentException 的构造函数中的参数是相反的?

在设计软件时,我一直赞成一致性,除非有真正充分的理由不一致。在.NETFramework中,我们有ArgumentNullException和ArgumentOutOfRangeException,它们都派生自ArgumentException。所有这3个都有一个接受两个字符串参数的构造函数-一个用于paramName,一个用于异常message。为什么两个派生类都颠倒了参数顺序?!publicArgumentNullException(StringparamName,Stringmessage):base(message,paramName){}publicArgumentOutOf

c# - 让类将自身作为参数传递给泛型基类是邪恶的吗?

我第一次看到一位同事在实现对象池时这样做。他将要被池化的类作为参数传递给通用基类。这个基类列出了池化代码。奇怪的是基类会知道它的子类。在每个正常情况下,这都被认为是不好的做法。但在这种情况下,parent只是一种避免编写重复代码的技术解决方案。基类永远不会被任何其他代码引用。这种构造的一个缺点是它“烧掉了基类”。您不能在层次结构的中间引入通用基类。这个问题可能超出了主题。下面是一个可以想象的例子:publicabstractclassSingletonwhereT:class{publicstaticTInstance{get;privateset;}publicSingleton()

c# - 为什么匿名委托(delegate)/lambda 不推断 out/ref 参数的类型?

StackOverflow上的几个C#问题询问如何使用out或ref参数制作匿名委托(delegate)/lambda。参见,例如:CallingamethodwithreforoutparametersfromananonymousmethodWritealambdaoranonymousfunctionthatacceptsanoutparameter为此,您只需指定参数的类型,如:publicvoiddelegateD(outTp);//...Da=(outTt)=>{...};//Lambdasyntax.Db=delegate(outTt){...};//Anonymousd

c# - XAML 绑定(bind)到带有参数的静态方法

我有一个像下面这样的静态类:publicstaticclassLang{publicstaticstringGetString(stringname){//CODE}}现在我想在xaml中以绑定(bind)的形式访问这个静态函数。有没有这样的方法例如:或者是否有必要为每个可能的参数创建一个ObjectDataProvider?希望有人能帮助我。提前致谢! 最佳答案 我也有这个需求。我使用转换器“解决”了(如建议的here)。首先,创建一个返回翻译字符串的转换器:publicclassLanguageConverter:IValueC

C# 4.0 - 如何处理可选的字符串参数

此代码无效:privatevoidFoo(stringoptionalString=string.Empty){//dofoo.}但是这段代码是:privatevoidFoo(stringoptionalString=""){//dofoo.}为什么?因为string.Empty是只读字段,不是常量,可选参数的默认值必须是编译时常量。所以,关于我的问题......(好吧,关注)这是我必须做的:privateconststringemptyString="";privatevoidFoo(stringoptionalString=emptyString){//dofoo.if(!stri

c# - SqlCommand 最大参数异常在 2099 个参数

我在一个SqlCommand中对不同的查询进行批处理,当我达到2100个参数限制时停止查询批处理。如果我的批处理有2100或2099个参数,我仍然会遇到异常。即使参数数量少于2100,以下测试代码也会抛出“太多参数异常”。varparametersMax=2099;varconnection=newSqlConnection(@"DataSource=.;IntegratedSecurity=SSPI;");connection.Open();varenumerable=Enumerable.Range(0,parametersMax);varquery=string.Format("

c# - 参数计数不匹配

以下代码段有问题。我发现参数计数不匹配。由于多线程和不安全更新的问题,我不得不写这篇文章。delegatevoiddata_INPUTDelegate(objectsender,System.IO.Ports.SerialDataReceivedEventArgse);privatevoiddata_INPUT(objectsender,System.IO.Ports.SerialDataReceivedEventArgse){stringdata=serialPort.ReadLine();string[]tokens=data.Split(':');if(tokens[0]=="$

c# - 从方法内部获取方法的参数名称和值

在.NET中是否有一种方法可以知道哪些参数及其值被传递给了一个方法。反射方式?这将从方法内部使用。它必须是通用的,以便可以从任何方法中使用。这是为了记录目的。 最佳答案 调用MethodBase.GetCurrentMethod().GetParameters()。但是,获取参数值是不可能的;由于JIT优化,它们甚至可能不再存在。 关于c#-从方法内部获取方法的参数名称和值,我们在StackOverflow上找到一个类似的问题: https://stackov