实例方法是否不在c#中创建对象引用
本文关键字:创建 对象引用 是否 实例方法 | 更新日期: 2023-09-27 17:57:59
我正在c#中开发一个asp.net web应用程序。我有一个名为GetUser的公共类。在那个类中,我有一个名为GetCurrentUser的方法。方法如下:
public MobileUser GetCurrentUser(MDMDataContext dc, string userCode)
{
using (dc)
{
dc.ObjectTrackingEnabled = false;
var currentUser =
from MobileUser in dc.MobileUsers
where MobileUser.UserCode == usercode
select MobileUser;
MobileUser mu = new MobileUser();
mu = currentUser.Single();
return mu;
}
}
但是当我尝试使用GetCurrentUser实例方法时,如下所示:
using (MDMDataContext dc = new MDMDataContext())
{
GetUser.GetCurrentUser(dc, "ABCD");
}
我得到以下错误,"非静态字段、方法或属性的对象引用'….GetUser.GetCurrentUser….'
但是,如果我将static关键字添加到函数中,错误就会消失。有人能帮我解开这个概念的神秘面纱吗?
您的方法是一个实例方法,这意味着您需要一个运行它的实例:
using (MDMDataContext dc = new MDMDataContext())
{
GetUser user = new GetUser();
user.GetCurrentUser(dc, "ABCD");
}
static
关键字表示该方法是static,并且可用于整个类型,而不绑定到特定实例。这就是为什么当它被标记为static时,可以使用类名来调用它(并且必须这样调用)。