C# 控制台游戏-如何返回“;var";
我的游戏机需要帮助。 我和角斗士一起在“竞技场”工作。 在游戏开始时,你将选择你的职业(战争、猎人等)(每个职业都有自己的class.cs) 但是在代码中,我有一个显示“menu”的方法,在这个菜单上,你选择了你的类,所以我需要返回这个特定的class.cs。如果你知道我的意思。 所以我想问我该怎么做C# 控制台游戏-如何返回“;var";,c#,console,C#,Console,我的游戏机需要帮助。 我和角斗士一起在“竞技场”工作。 在游戏开始时,你将选择你的职业(战争、猎人等)(每个职业都有自己的class.cs) 但是在代码中,我有一个显示“menu”的方法,在这个菜单上,你选择了你的类,所以我需要返回这个特定的class.cs。如果你知道我的意思。 所以我想问我该怎么做 public static "something" Menu(int cislo) { bool starthry = false;
public static "something" Menu(int cislo)
{
bool starthry = false;
switch (cislo)
{
case 1:
if (int.TryParse(Console.ReadLine(), out int vyber))
{
string jmeno = Console.ReadLine();
switch (vyber)
{
case 1:
Bojovnik bojovnik = new Bojovnik(jmeno);
break;
/*case 2:
Lukostrelec lukostrelec = new Lukostrelec(jmeno);
break;
case 3:
Assassin assassin = new Assassin(jmeno);
break;
case 4:
Mag mag = new Mag(jmeno);
break;
case 5:
Nekromant nekromant = new Nekromant(jmeno);
break;
case 6:
Druid druid = new Druid(jmeno);
break;*/
default:
break;
}
starthry = true;
}
break;
case 2:
FileStream fs = new FileStream(@"../../Postava.dat", FileMode.CreateNew, FileAccess.Write);
StreamWriter sw = new StreamWriter(fs);
sw.Write(postava.Info());
break;
case 3:
break;
case 4:
break;
case 5:
if (Console.ReadLine() == "Y")
{
string postavy = @"C:\Users\Dominik\source\repos\Pokus_o_hru_LOL\Pokus_o_hru_LOL\bin\Debug\netcoreapp3.1\Postavy.docx";
Process proces = new Process();
proces.StartInfo = new ProcessStartInfo()
{
UseShellExecute = true,
FileName = postavy
};
proces.Start();
proces.WaitForExit();
}
break;
case 6:
Environment.Exit(0);
break;
default:
break;
}
//here i need to return my character
}
为此,您应该使用接口。创建一个IClass,让所有类扩展它并返回一个IClass。无法使方法返回类型,因为它是语法糖。为此,应使用接口。创建一个IClass,让所有类扩展它并返回一个IClass。您不能让方法返回类型,因为它是语法糖。您不能返回
var
,因为var
是语法糖。当var a=“hello”编译代码>时,var
成为其实际类型(即string
)。您必须将该方法声明为返回所有可能返回值中常见的类型,无论是接口、基类还是object
(如果没有其他适合的话)。您的意思是我必须为每个可能的类执行方法“菜单”?您不能返回var
,因为var
是同步的。当var a=“hello”编译代码>时,var
成为其实际类型(即string
)。您必须将该方法声明为返回所有可能返回值中的一种常见类型,无论是接口、基类还是object
(如果没有其他合适的话)。您的意思是我必须为每个可能的类执行方法“菜单”吗?我可以问什么是IClass吗?“你的意思是什么让所有的类都扩展?”多米尼克·科卢奇读了一些关于接口的文章,如果我是对的,你的意思是我应该像接口类和一个类“角色”那样做类(战士、法师…)?你有分歧吗?如果是这样的话,在那里向你解释就容易多了。是的,我有点不和谐。我能问一下什么是课堂吗?“你的意思是什么让所有的类都扩展?”多米尼克·科卢奇读了一些关于接口的文章,如果我是对的,你的意思是我应该像接口类和一个类“角色”那样做类(战士、法师…)?你有分歧吗?如果是这样的话,在那里向你解释就容易多了是的,我有分歧