c# – 我不能从另一个类调用公共方法

c# – 我不能从另一个类调用公共方法,第1张

概述这是带方法的类 public partial class NewGame : Form{ public NewGame() { InitializeComponent(); this.Icon = new Icon("Resources/iconG.ico"); comboBoxGenre.Items.AddRange(Enum.GetNames(typeof(G 这是带方法的类

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# – 我不能从另一个类调用公共方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1218267.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存