public partial class NewGame : Form{ public NewGame() { InitializeComponent(); this.Icon = new Icon("Resources/iconG.ico"); comboBoxGenre.Items.AddRange(Enum.Getnames(typeof(Game.Genre))); } public string GetGamename() { return txtbxGamename.Text.Trim(); } public int GetGenreSelector() { return comboBoxGenre.Selectedindex; }}
这是我的主要形式
private voID addGametoolStripMenuItem_Click(object sender,EventArgs e){ Form newGame = new NewGame(); newGame.ShowDialog(this); if (newGame.DialogResult==DialogResult.OK) { string gamename = newGame.GetGamename(); //this part doesn't work }}
我收到一条错误消息:
Error 1
‘System.windows.Forms.Form’ does not contain a deFinition for
‘GetGamename’ and no extension method ‘GetGamename’ accepting a first
argument of type ‘System.windows.Forms.Form’ Could be found (are you
missing a using directive or an assembly
reference?)
几个星期前我写了类似的代码,它完美无缺.
解决方法 更换Form newGame = new NewGame();
同
NewGame newGame = new NewGame();
您的newGame变量的类型为Form,不包含这些方法.
您已在NewGame类中定义了这些方法,因此如果使用正确的类型,它们将可见.
如果你真的需要使用父类型(Form),你可以将你的对象转换为NewGame:
Form newGame = new NewGame();string gamename = ((NewGame)newGame).GetGamename();总结
以上是内存溢出为你收集整理的c# – 我不能从另一个类调用公共方法全部内容,希望文章能够帮你解决c# – 我不能从另一个类调用公共方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)