草庐IT

C_Func_using_Func_ptr

全部标签

c# - 在 Using 语句中从 DataLayer 返回 DataReader

我们有很多数据层代码都遵循这种非常普遍的模式:publicDataTableGetSomeData(stringfilter){stringsql="SELECT*FROM[SomeTable]WHERESomeColumn=@Filter";DataTableresult=newDataTable();using(SqlConnectioncn=newSqlConnection(GetConnectionString()))using(SqlCommandcmd=newSqlCommand(sql,cn)){cmd.Parameters.Add("@Filter",SqlDbType

c# - 是否所有一次性对象都在 using block 中实例化?

这是我过去多次问自己的问题,因为我嵌套了using语句5深。阅读docs并且没有发现任何关于block内实例化的其他一次性用品的提及,我认为这是一个很好的SO文件Q。考虑一下:using(varconn=newSqlConnection()){varconn2=newSqlConnection();}//isconn2disposed? 最佳答案 不,他们不是。只有在using子句中明确列出的变量集才会被自动释放。 关于c#-是否所有一次性对象都在usingblock中实例化?,我们在S

c# - Func<T, TResult> 和 Converter<TInput, TOutput> 有什么区别?

查看Func和Converter委托(delegate)的签名,publicdelegateTResultFunc(Targ);publicdelegateTOutputConverter(TInputinput);我很难看出两者之间的区别。当然,如果我们重命名泛型类型参数,它们本质上是一样的吗?有人能解释一下为什么它们都存在吗? 最佳答案 没有区别。它们存在的原因是历史性的。Converter在.NET2.0中已经可用,但整个范围Func稍后添加了委托(delegate)类型。为了保持一致性,Func已添加,但它与Converte

c# - 返回用于在 using C# 中使用的变量

我在using语句中返回我在using语句中创建的变量(听起来很有趣):publicDataTablefoo(){using(DataTableproperties=newDataTable()){//dosomethingreturnproperties;}}这会Dispose属性变量吗??这样做之后我仍然收到这个警告:Warning34CA2000:Microsoft.Reliability:Inmethod'test.test',callSystem.IDisposable.Disposeonobject'properties'beforeallreferencestoitare

c# - 格式化日期时间错误 "Templates can be used only with field access, property access, single-dimension array index.."

在MVCRazorView中,我试图将DateTime字段格式化为仅显示时间。使用下面的代码我收到错误“模板只能用于字段访问、属性访问、一维数组索引或单参数自定义索引器表达式。”@(Html.DisplayFor(m=>row.LastUpdatedDate.ToString("HH:mm:ss")))任何帮助请问是什么导致了这个错误以及如何解决它?感谢您的帮助。 最佳答案 我遇到了同样的问题,我已经解决了。如果您想将“LastUpdatedDate”转换为特定格式,那么您可以试试这个:@Html.TextBoxFor(m=>row

c# - 为什么 'using' 没有 catch block ?

我理解“使用”的意义在于保证调用对象的Dispose方法。但是应该如何处理“using”语句中的异常呢?如果出现异常,我需要将我的“using”语句包装在trycatch中。例如:假设在使用参数内部创建对象时产生了异常try{//Exceptioninusingparameterusing(SqlConnectionconnection=newSqlConnection("LippertTheLeopard")){connection.Open();}}catch(Exceptionex){}或使用范围内的异常using(SqlConnectionconnection=newSqlCo

c# - 删除 xmlns :i ="http://www.w3.org/2001/XMLSchema-instance" when using DataContractSerializer

如何在使用DataContractSerializer时删除xmlns:i="http://www.w3.org/2001/XMLSchema-instance"。这是我得到的:wolverine@wolverine.comwolverinety1002225wolverine366332214477TY我想得到这样的东西:wolverine@wolverine.comwolverinety1002225wolverine366332214477TY这是我的模型:[DataContract(Namespace="")]publicclassCRMProfileModel{[DataMe

c# - 如何在vscode中禁用Unnecessary Using of Directive的警告?

我目前正在使用VS代码和Unity开发我的游戏。每次我打开编辑器,都会有99+Unnecessaryusingof指令,这让我很不爽。由于第三方插件有很多依赖性,我不确定是否可以删除它们。所以我想有一些方法来禁用它们。我试过类似的方法:"csharp.lint.unnecessaryUsingDirective":"ignore"但很明显,这是行不通的。所以我希望我能做些什么来隐藏或禁用此警告。 最佳答案 我觉得这个issuehasalreadybeenaddressed在最新版本的Omnisharp中——但由于我们被迫为Unity

c# - 从 using 语句中修改值类型是未定义的行为吗?

这个真的是thisquestion的一个分支,但我认为它应该得到自己的答案。根据ECMA-334的第15.13节(关于using语句,以下称为resource-acquisition):Localvariablesdeclaredinaresource-acquisitionareread-only,andshallincludeaninitializer.Acompile-timeerroroccursiftheembeddedstatementattemptstomodifytheselocalvariables(viaassignmentorthe++and--operators

c# - 使用静态工厂 Func<T> 为 ASP.NET 应用程序创建 "Ambient Context"(UserContext)

我发现几乎每个类(Controller、View、HTML帮助程序、服务等)我都需要当前登录的用户数据。所以我考虑创建一个“环境上下文”而不是直接注入(inject)IUserService或用户。我的方法看起来像那样。publicclassBootstrapper{publicvoidBoot(){varcontainer=newContainer();//thecalltoIUserService.GetUseriscachedperHttprequest//byusingadynamicproxycachingmechanism,thatalsohandlescaseswhere