我遇到了将属性从一个类传递到另一个类的问题。 我收到一个错误,说第二个类中的所有Game属性都需要一个对象引用。它们在底部突出显示。 这是我的第一堂课(游戏):
class Game
{
private string verb= "";
private string noun= "";
private string adjective= "";
private string panimal= "";
private string pnoun= "";
public string Verb
{
get {return verb; }
set {verb = value; }
}
public string Noun
{
get {return noun; }
set {noun = value; }
}
public string Adjective
{
get {return adjective;}
set {adjective = value; }
}
public string Panimal
{
get {return panimal; }
set {panimal = value; }
}
public string Pnoun
{
get {return pnoun; }
set {pnoun = value; }
}
public void InScreen()
{
Console.WriteLine("First, give me a past tense VERB: ");
Verb = Console.ReadLine();
Console.WriteLine("\nNow, give me a NOUN: ");
Noun = Console.ReadLine();
Console.WriteLine("\nNext, I will need an ADJECTIVE: ");
Adjective = Console.ReadLine();
Console.WriteLine("\nNow, I will need an ANIMAL(plural): ");
Panimal = Console.ReadLine();
Console.WriteLine("\nFinally, I neeed a plural NOUN: ");
Pnoun = Console.ReadLine();
}
我的第二堂课(InsertFunOOUI)
public void Poem()
{
Console.WriteLine("Humpty Dumpty " + **Game.Verb** + "on a " +
**Game.Noun**
);
Console.WriteLine("Humpty Dumpty had a " + **Game.Adjective** + "
fall"
);
}
...你明白了。
答案 0 :(得分:1)
Game
是一个类型。一类。您需要创建它的实例:
Game g = new Game();
然后才使用:
g.Verb
等
答案 1 :(得分:0)
您需要设置一个Game实例才能使用它,除非您打算将它作为静态类。
deletePatient(patientId) {
var config = {
headers: {
'User-Agent':'',
'Accept':'',
'Host':''
}
};
axios.delete(url + 'patients/' + patientId, config).then((res) =>
{
this.props.dispatch(deletePatientAction(res));
})
.catch( function(error) {
console.log(JSON.stringify(error, null, 2));
});
}
那样的东西?
答案 2 :(得分:0)
首先创建一个像@ispiro这样的游戏实例。你需要做一次(如果可能的话,在主要的)。然后创建你的类诗的实例。如果可能,使用依赖注入并将游戏对象的属性作为参数传递,而不是整个对象。我甚至会在你的Poem类中创建一个处理控制台输出的方法。根据您的喜好调整此代码:
public void main()
{
var game = new Game();
var poem = new Poem();
poem.Output(game.Verb, game.Adjective);
}
public class Poem()
{
public void Output(string verb, string adjective)
{
// your console writeline code
}
}