我有许多表示业务事务调用的类:执行适当的存储过程。
现在看起来像这样:
public static class Request
{
public static void Approve(..) {
using(connection) {
command.Text = "EXEC [Approve] ,,"]
command.ExecuteNonQuery();
}
}
}
我想让它们更线程安全:
public class Request {
public static void Approve(..) {
new Request().Approve(..);
}
internal void Approve(..) {
using(connection) {
command.Text = "EXEC [Approve] ,,"]
command.ExecuteNonQuery();
}
}
}
但是收到下一条错误消息:
如何强制标记我正在从静态调用非静态实例方法?
或者我不能在不重命名其中一种方法的情况下做到这一点?或者将静态方法移动到另一个类等
最佳答案
如果您从实例(例如 requestVar.Approve()
)进行调用,则不,您必须重命名它。然而,可以使用 Request.Approve()
调用静态。
关于c# - 在 C# 中编写静态和非静态方法时,如何避免 'call is ambiguous...' 错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1556459/