C#从其他命名空间调用类中的函数

时间:2016-12-28 15:45:30

标签: c# function class methods

我在课堂上有这个功能:

        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是单独的类文件的名称。但我无法在其他任何地方调用该函数,我该如何解决?

2 个答案:

答案 0 :(得分:0)

您必须首先实例化该类或使该功能静态

答案 1 :(得分:0)

您提供的方法未声明为静态,因此要调用它,您需要声明public static void CreateWeapon()所属的类的实例(该类未包含在您的代码段中)。

或者将方法声明更改为:d1.Where(dev1=> d2.Any(dev2=>dev2.DeviceName == dev1.DeviceName && dev2.DeviceIP == dev1.IP)) .ToList() .ForEach(dev1=>dev1.IsExist = true);