C# 非静态字段方法需要对象方法
我没有使用C#的经验,但作为我们大学模块的一部分,我们必须创建一个老虎机应用程序。我们创建了一个Gambler类,我必须创建一个CheckBalance类,在这个类中我将从Gambler类调用Token方法。但是我得到了线程标题中提到的错误C# 非静态字段方法需要对象方法,c#,object,methods,static,required,C#,Object,Methods,Static,Required,我没有使用C#的经验,但作为我们大学模块的一部分,我们必须创建一个老虎机应用程序。我们创建了一个Gambler类,我必须创建一个CheckBalance类,在这个类中我将从Gambler类调用Token方法。但是我得到了线程标题中提到的错误 Int tokens = Gambler.Tokens; 上面这一行就是我得到错误的地方。 这是我的代码: enter code herenamespace CasinoClasslibrary { public class Gambler { p
Int tokens = Gambler.Tokens;
上面这一行就是我得到错误的地方。
这是我的代码:
enter code herenamespace CasinoClasslibrary
{
public class Gambler
{
public string Name { get; private set; }
public int Age { get; private set; }
public long CreditCardNum { get; private set; }
public int Tokens { get; public set; }
public string Username { get; private set; }
public string Password { private get; public set; }
public Gambler(string Name, int Age, long CreditCardNum, int Tokens, string Username, string Password)
{
this.Name = Name;
this.Age = Age;
this.CreditCardNum = CreditCardNum;
this.Tokens = Tokens;
this.Username = Username;
this.Password = Password;
}
}
public class Cashout : Gambler
{
public Boolean CheckBalance()
{
int tokens = Gambler.Tokens;
return true;
}
}
}由于您是从
赌徒继承的,我怀疑您需要访问base。令牌如下:
public Boolean CheckBalance()
{
int tokens = base.Tokens; //here
return true;
}
否则,由于Toakens
是实例成员,您必须创建Gambler
的对象,然后访问它
代码中还有其他错误。您尚未在基类中定义默认(无参数)构造函数,需要在子类中调用现有的基类构造函数
public class Cashout : Gambler
{
public Cashout()
: base("",0, 0, 1, "", "") //something like this
{
}
public Boolean CheckBalance()
{
int tokens = base.Tokens;
return true;
}
}
由于您是从赌徒继承的,我怀疑您需要访问base。令牌如下:
public Boolean CheckBalance()
{
int tokens = base.Tokens; //here
return true;
}
否则,由于Toakens
是实例成员,您必须创建Gambler
的对象,然后访问它
代码中还有其他错误。您尚未在基类中定义默认(无参数)构造函数,需要在子类中调用现有的基类构造函数
public class Cashout : Gambler
{
public Cashout()
: base("",0, 0, 1, "", "") //something like this
{
}
public Boolean CheckBalance()
{
int tokens = base.Tokens;
return true;
}
}
由于您是从赌徒继承的,我怀疑您需要访问base。令牌如下:
public Boolean CheckBalance()
{
int tokens = base.Tokens; //here
return true;
}
否则,由于Toakens
是实例成员,您必须创建Gambler
的对象,然后访问它
代码中还有其他错误。您尚未在基类中定义默认(无参数)构造函数,需要在子类中调用现有的基类构造函数
public class Cashout : Gambler
{
public Cashout()
: base("",0, 0, 1, "", "") //something like this
{
}
public Boolean CheckBalance()
{
int tokens = base.Tokens;
return true;
}
}
由于您是从赌徒继承的,我怀疑您需要访问base。令牌如下:
public Boolean CheckBalance()
{
int tokens = base.Tokens; //here
return true;
}
否则,由于Toakens
是实例成员,您必须创建Gambler
的对象,然后访问它
代码中还有其他错误。您尚未在基类中定义默认(无参数)构造函数,需要在子类中调用现有的基类构造函数
public class Cashout : Gambler
{
public Cashout()
: base("",0, 0, 1, "", "") //something like this
{
}
public Boolean CheckBalance()
{
int tokens = base.Tokens;
return true;
}
}
因为兑现是从赌徒那里继承的,所以你们可以这么做。这是因为Cashout
实例也将具有Tokens
属性
public class Cashout : Gambler
{
public Boolean CheckBalance()
{
int tokens = Tokens;
return true;
}
}
但是,如果您希望该方法是静态的,则需要使用Gambler
的实例来访问该属性,并且应该将其传递到静态方法中
public class Cashout : Gambler
{
public static Boolean CheckBalance(Gambler myGambler)
{
int tokens = myGambler.Tokens;
return true;
}
}
最后,如果您想让这个令牌
属性本身是静态的,那么需要将其声明为静态的
public static int Tokens;
您可能还需要一个静态构造函数来设置它。因为Cashout继承自Gambler,所以您可以这样做。这是因为Cashout
实例也将具有Tokens
属性
public class Cashout : Gambler
{
public Boolean CheckBalance()
{
int tokens = Tokens;
return true;
}
}
但是,如果您希望该方法是静态的,则需要使用Gambler
的实例来访问该属性,并且应该将其传递到静态方法中
public class Cashout : Gambler
{
public static Boolean CheckBalance(Gambler myGambler)
{
int tokens = myGambler.Tokens;
return true;
}
}
最后,如果您想让这个令牌
属性本身是静态的,那么需要将其声明为静态的
public static int Tokens;
您可能还需要一个静态构造函数来设置它。因为Cashout继承自Gambler,所以您可以这样做。这是因为Cashout
实例也将具有Tokens
属性
public class Cashout : Gambler
{
public Boolean CheckBalance()
{
int tokens = Tokens;
return true;
}
}
但是,如果您希望该方法是静态的,则需要使用Gambler
的实例来访问该属性,并且应该将其传递到静态方法中
public class Cashout : Gambler
{
public static Boolean CheckBalance(Gambler myGambler)
{
int tokens = myGambler.Tokens;
return true;
}
}
最后,如果您想让这个令牌
属性本身是静态的,那么需要将其声明为静态的
public static int Tokens;
您可能还需要一个静态构造函数来设置它。因为Cashout继承自Gambler,所以您可以这样做。这是因为Cashout
实例也将具有Tokens
属性
public class Cashout : Gambler
{
public Boolean CheckBalance()
{
int tokens = Tokens;
return true;
}
}
但是,如果您希望该方法是静态的,则需要使用Gambler
的实例来访问该属性,并且应该将其传递到静态方法中
public class Cashout : Gambler
{
public static Boolean CheckBalance(Gambler myGambler)
{
int tokens = myGambler.Tokens;
return true;
}
}
最后,如果您想让这个令牌
属性本身是静态的,那么需要将其声明为静态的
public static int Tokens;
您可能还需要一个静态构造函数来设置它。Tokens
不是静态方法,但您尝试通过静态构造函数(类级别)访问它
可以通过声明它为静态来实现这一点(尽管这可能不是您想要的)
或者通过实例化赌徒
new Gambler().Tokens;
Tokens
不是静态方法,但您尝试通过静态构造(类级别)访问它
可以通过声明它为静态来实现这一点(尽管这可能不是您想要的)
或者通过实例化赌徒
new Gambler().Tokens;
Tokens
不是静态方法,但您尝试通过静态构造(类级别)访问它
可以通过声明它为静态来实现这一点(尽管这可能不是您想要的)
或者通过实例化赌徒
new Gambler().Tokens;
Tokens
不是静态方法,但您尝试通过静态构造(类级别)访问它
可以通过声明它为静态来实现这一点(尽管这可能不是您想要的)
或者通过实例化赌徒
new Gambler().Tokens;