【问题标题】:C# calling function in class from other namespaceC# 从其他命名空间调用类中的函数
【发布时间】:2016-12-28 15:45:30
【问题描述】:

我在课堂上有这个功能:

        public void CreateWeapon()
    {

        Random rnd = new Random();
        int x = rnd.Next(0, weaponNames.Length);

        newWeapon = new BaseWeapon();

        newWeapon.ItemName = weaponNames[x];
        newWeapon.Strength = rnd.Next(0, 5);
        newWeapon.Vitality = rnd.Next(0, 5);
        newWeapon.Intelligence = rnd.Next(0, 5);

        ChooseWeaponType();

    }

它位于命名空间 RPG_GUI.Items

由于我的“Form1.cs”位于 RPG_GUI 中,我无法调用该函数,尽管它是一个公共函数。

我正在尝试使用这个命令:

RPG_GUI.Items.CreateNewWeapon

CreateNewWeapon.cs 是单独的类文件的名称。但是我无法在其他任何地方调用该函数,我该如何解决?

【问题讨论】:

  • 你可以做到static
  • 您需要CreateWeapon() 所属的类的实例。或者,您可以将其设为静态方法,改为使用 return newWeapon;

标签: c# function class methods


【解决方案1】:

您提供的方法未声明为静态的,因此要调用它,您需要声明CreateNewWeapon 所属类的实例(该类未包含在您的代码 sn-p 中)。

或者将您的方法声明更改为:public static void CreateWeapon()

【讨论】:

  • 声明该类的一个实例.. 有时很难在盒子里思考。非常感谢!
【解决方案2】:

您必须先实例化该类或将函数设为静态

【讨论】:

    猜你喜欢
    • 2012-11-12
    • 2017-10-26
    • 1970-01-01
    • 2021-06-12
    • 2011-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多