草庐IT

接受函

全部标签

c# - 如何定义接受任何生成 IEnumerable<T> 的任务的函数?

我正在寻找一个函数来接受任何产生IEnumerable的任务.为了说明,请考虑以下函数签名。voidDoWork(Task>task){}现在,我想按如下方式调用此方法:Tasktask=Task.FromResult(new[]{1,2,3});DoWork(task);显然,这行不通,因为两个Task类型不相同,并且任务不存在协方差。但是,我想知道是否有一些聪明的技巧可以让它发挥作用,灵感来自以下示例。asyncTask>GetTask(){returnawaitTask.FromResult(newint[]{1,2,3});}在这里,await正在使用内联任务的结果有效地创建一

c# - SqlParameterCollection 只接受非空的 SqlParameter 类型对象,不接受 DBNull 对象

当我将SQL参数p添加到集合中时,我得到一个InvalidCastException,其中包含帖子标题中的消息。parentId是一个可以为空的整数,在数据库中也是一个可以为空的整数。为什么会出现这个异常,我该如何解决?我不使用存储过程,我已经阅读过类似的主题,但它们对我没有帮助。varp=newSqlParameter("ParentId",SqlDbType.Int).Value=parentId??(object)DBNull.Value;cmd.Parameters.Add(p); 最佳答案 您没有添加新的SqlParame

c# - 如何接受任何委托(delegate)作为参数

我有兴趣编写一个方法,该方法可以接受另一个方法作为参数,但不想被锁定到特定的签名中-因为我不关心这个。我只对方法在调用时是否抛出异常感兴趣。.NETFramework中是否有允许我接受任何委托(delegate)作为参数的结构?例如,以下所有调用都应该有效(无需使用重载!):DoesItThrowException(doSomething(arg));DoesItThrowException(doSomethingElse(arg1,arg2,arg3,arg4,arg5));DoesItThrowException(doNothing()); 最佳答案

c# - 新的 StreamReader 类不接受文件名

我一直在尝试制作MVC6.0的演示,但我发现我无法再使用StreamReader类读取文件,因为它不再接受字符串。所以像这样的代码StreamReaderreader=newStreamReader("filename.txt")无效?我正在使用.NETCore1.0 最佳答案 我认为他们已经删除了它,因为StreamReader不应该负责创建流——这违反了单一职责原则。您需要创建一个FileStream或类似的以获得相同的功能using(varstream=newFileStream(@"C:\temp\test.txt",Fil

c# - Web Api HTTPPost 不接受 int

我试图只传递body一个int但它不起作用为什么我需要创建一个属性类型为int的类?(然后就可以了)有效[HttpPost][Route("api/UpdateMainReversed")]publicIHttpActionResultUpdateMainVerified(DataAccess.Entities.RequestMainmainValues){....}不工作[HttpPost][Route("api/UpdateMainReversed")]publicIHttpActionResultUpdateMainVerified(intmainId){....}使用Postm

c# - 如何处理 GetDataPresent 让它接受所有派生类型

我正在使用drgevent.Data.GetDataPresent判断被拖拽的组件是否可以接受。我遇到了一个问题,我想接受一个特定的类型,比如SomeType和所有从它派生的类型。似乎GetDataPresent不支持这样的要求。有什么想法吗? 最佳答案 只是不要使用GetDataPresent(),它是样板文件,但您可以按照自己的方式自由使用。实际检索对象并检查您是否对其类型感到满意:protectedoverridevoidOnDragEnter(DragEventArgsdrgevent){varobj=drgevent.Da

c# - WPF 文本框接受 INT 但不接受 NULLABLE INT?

模型publicint?SizeLength{get;set;}XAML一旦用户尝试退格键或删除此文本框中的值,将出现消息Value''cannotbeconverted。我可以知道它有什么问题吗? 最佳答案 使用:{BindingTargetNullValue=''} 关于c#-WPF文本框接受INT但不接受NULLABLEINT?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions

c# - 为什么 System.Convert 有接受 DateTime 的 ToDateTime?

////Summary://ReturnsthespecifiedSystem.DateTimeobject;noactualconversionisperformed.////Parameters://value://Adateandtimevalue.////Returns://valueisreturnedunchanged.publicstaticDateTimeToDateTime(DateTimevalue);为什么System.Convert有接受DateTime的ToDateTime?方法文档声明该值保持不变。 最佳答案

C# - 让 WCF 接受任何 Soap 消息前缀

情况是这样的,有一个现有的客户端,我需要构建一个客户端将要使用的服务器。我不拥有客户端,也无法更改它。客户端SOAP消息可以如下如何让我的服务接受两个带圆圈的前缀。目前它只接受“c2b”前缀,不处理任何带有“ns1”前缀的请求。 最佳答案 您正在将DTO(类对象)传递给服务,但您的wcf服务无法识别确切的类。因此,要使WCF接受任何前缀,只需添加具有适当对象位置的前缀。您只需要再添加一个xmlns属性为.例如。 关于C#-让WCF接受任何Soap消息前缀,我们在StackOverflow

c# - Fluent Validation 不接受带有千位分隔符的数字

我有一个ASP.NETMVC5项目,其中包含针对MVC5的FluentValidation。我还在使用jQuery屏蔽插件自动将千位值添加到double值。在我的模型中:[Display(Name="Turnover")][DisplayFormat(ApplyFormatInEditMode=true,ConvertEmptyStringToNull=true,DataFormatString="#,##0")]publicdouble?Turnover{get;set;}在我看来:@Html.DisplayNameFor(model=>model.Turnover)@Html.Te