c# – Ref参数不归类为变量 – 更好的解决方法吗?

c# – Ref参数不归类为变量 – 更好的解决方法吗?,第1张

概述我有这段代码是从VB.NET转换而来的. private static void PrivateExecuteNonQuery(ref Providers enumProvider, ref string statement, ref CommandType commandType, ref ArrayList paramCollection, ref IDbConnection conn, re 我有这段代码是从VB.NET转换而来的.

private static voID PrivateExecuteNonquery(ref ProvIDers enumProvIDer,ref string statement,ref CommandType commandType,ref ArrayList paramCollection,ref IDbConnection conn,ref Int16 CommandTimeout)    {        ExecutesqlServerNonquery(ref statement,ref commandType,ref paramCollection,ref (sqlConnection)conn,ref CommandTimeout);    }

我收到一个错误,因为它说ref(sqlConnection)conn不是变量的形式,所以我猜你不能传递ref的方法参数

所以这对我来说似乎是一个Hacky解决方案:

private static voID PrivateExecuteNonquery(ref ProvIDers enumProvIDer,ref Int16 CommandTimeout)    {        sqlConnection sqlConnection = (sqlConnection)conn;    ExecutesqlServerNonquery(ref statement,ref sqlConnection,ref CommandTimeout);    }

有谁知道更好的方法来满足这个参考或使这个更清洁?

解决方法 ref的目的是实际允许该方法修改调用者传入的变量的内容.如果你有偶然的ref参数,由于从不加区别地使用ByRef的Visual Basic代码转换,那么你最终会遇到这种情况.

你有两个选择:

>在调用者和被调用者中删除不必要的ref参数限定符,或者
>如果必须,使用实变量,虚拟变量作为方法的参数

所以,答案是,不,没有更好的方法去做而不去除不必要的ref参数限定符.

什么是不必要的ref参数限定符?它是一个参数,它永远不会在方法体中的任何位置实际分配.大多数参数不需要参考,而那些参数通常在检查方法逻辑时非常明显.

总结

以上是内存溢出为你收集整理的c# – Ref参数不归类为变量 – 更好的解决方法吗?全部内容,希望文章能够帮你解决c# – Ref参数不归类为变量 – 更好的解决方法吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1221852.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存