草庐IT

pytest参数化:@pytest.mark.parametrize

全部标签

c# - 为什么 Asp.net MVC 不能区分具有不同参数的两个 Action ?

我正在尝试在我的Asp.netMVC应用程序中使用两种不同的帐户注册方法,一种供一般用户注册,另一种供使用特定注册token注册的用户使用。因此,我的AccountController中有以下方法签名:publicvirtualActionResultRegister(){...}publicvirtualActionResultRegister(GuidregistrationToken){...}但是,当我转到http://localhost/Account/Register时,我得到一个异常,即当前请求在这两个操作之间不明确。我的印象是,如果没有传入registrationTok

c# - ServiceStack.Net 的多个可选参数

我正在尝试使用ServiceStack.Net实现具有多个可选参数的服务目前我的路线是这样的Routes.Add("/save/{Year}/{Week}");我想像这样支持uris:/save/2010/12/Monday/4/Tuesday/6/Wednesday/7即星期一=4,星期二=6,星期三=7但是我希望能够忽略天数,即调用该服务的人可以决定他们是否要保存每一天的每个值...即像这样缺少参数值?Monday=4&Wednesday=7&Friday=6当然,一种解决方案是使用以下路由,当我不想保存值时只传递0。Routes.Add("/save/{Year}/{Week}/

c# - 反射(reflection)使用 out 参数的静态重载方法

我在通过反射调用带有out参数的重载静态方法时遇到一些问题,希望得到一些指示。我希望动态创建一个类型,如System.Int32或System.Decimal,然后调用静态TryParse(string,outx)方法。下面的代码有两个问题:t.GetMethod("TryParse",newType[]{typeof(string),t})未能返回我期望的MethodInfomi.Invoke(null,newobject[]{value.ToString(),concreteInstance})似乎成功但未设置输出参数concreteInstance到解析后的值交织到这个函数中,您

c# - 参数数量未知的 Func<>

考虑以下伪代码:TResultFoo(Funcf,paramsobject[]args){TResultresult=f(args);returnresult;}函数接受Func具有未知数量的通用参数和相应参数的列表。可以用C#写吗?如何定义和调用Foo?我如何通过args至f? 最佳答案 您可以将Delegate与DynamicInvoke一起使用。有了它,您就不需要处理f中的object[]。TResultFoo(Delegatef,paramsobject[]args){varresult=f.DynamicInvoke(ar

c# - Autofac - 确保 Controller 有一个无参数的公共(public)构造函数

我知道之前有人问过这个问题并回答过-我问这个问题的原因是(我认为)我尝试了所有建议的解决方案来解决这个问题,但仍然无法解决。我有一个ASP.NETWebAPI2.0项目。我安装了Autofac、Autofac.Mvc5和Autofac.WebApi2依赖项。当我尝试调用APIController时,出现以下错误:Anerroroccurredwhentryingtocreateacontrolleroftype'MyController'.Makesurethatthecontrollerhasaparameterlesspublicconstructor.在我的Global.asax

c# - 如何将参数传递给sql 'in'语句?

我想创建这个查询:select*fromproductswherenumberin('123','234','456');但我找不到任何使用Npgsql和NpgsqlParameter实现此目的的示例。我试过这样:string[]numbers=newstring[]{"123","234"};NpgsqlCommandscmd=newNpgsqlCommands("select*fromproductswherenumberin(:numbers)");NpgsqlParameterp=newNpgsqlParameter("numbers",numbers);command.Par

c# - 当不能简单地重载时混合可选参数和参数

类似于thisquestion,我想将可选参数与params关键字混合使用,这当然会产生歧义。不幸的是,创建重载的答案不起作用,因为我想利用调用者信息属性,如下所示:publicvoidInfo(stringmessage,[CallerMemberName]stringmemberName="",[CallerLineNumber]intlineNumber=0,paramsobject[]args){_log.Info(BuildMessage(message,memberName,lineNumber),args);}在没有可选参数的情况下创建重载会更改调用站点,从而阻止这些特定

C# - 使用 foreach 遍历方法参数

是否可以循环遍历函数参数以检查它们是否为空(或通过另一个自定义函数检查它们)?像这样:publicvoidtest(stringarg1,stringarg2,objectarg3,DataTablearg4){foreach(variteminargus){if(item==null){throw;}}//dotherest...}“argus”的正确关键字是什么?我知道这可以通过更多if语句来实现,但正在寻找更快的方法...... 最佳答案 您可以使用params关键字遍历所有参数,然后您将在方法本身中使用它们的类型。我会编写一

c# - 获取传递给 C# 方法的参数的名称

voidMyMethod(stringsomething,paramsobject[]parameters){foreach(objectparameterinparameters){//Getthenameofeachpassedparameter}}例如,如果我按以下方式调用该方法,我想获取名称“myFirstParam”和“anotherParam”。stringmyFirstParam="somekindoftext";stringanotherParam=42;MyMethod("test",myFirstParam,anotherParam);也许反射(reflection

c# - .NET对不同参数重载方法的误解(Call Ambiguous)

我有一些重载方法的问题,我会尝试给出一个简单的实现。所以这是一个包含以下两个方法的类:publicclassMyRepo{publicListGetData(Expression>expression){//Dosomething}publicListGetData(FuncwhereClause){//Dosomething}}这是我的实体:publicclassMyEntity{publicintId{get;set;}publicstringName{get;set;}}这里是我使用它的地方:{...MyRepomyRepo=newMyRepo();myRepo.GetData(