调用现有 类?
Calling on existing classes?
我很郁闷...我似乎找不到 "How to call a method, or get a variable from another class" 的直接答案。我想做的是让第二个脚本在主脚本上使用一个变量(Game1.cs),或者触发一个方法。
我知道的唯一方法是创建一个新实例
Game1 mainScript = new Game1();
然后像这样调用它mainScript.myVariable
但我知道这行不通,因为我创建了一个新的 Game1,而不是使用原来的。我想知道是否有办法调用已经存在的 class,然后使用它的变量。
感谢您的帮助!
我想你会用static
class。
这种类型的class避免创建新的实例(静态的class不能被实例化)
访问以获取更多参考https://msdn.microsoft.com/en-US/en-en/library/79b3xss3.aspx
using System;
namespace TestOfFunctions;
{
public class Game1
{
private static int _someVariable = 15;
public static int SomeVariable
{
get { return _someVariable; }
set { _someVariable = value; }
}
}
public class MainClass
{
public static void Main()
{
Console.WriteLine (Game1.SomeVariable);
Game1.SomeVariable = 30;
Console.WriteLine (Game1.SomeVariable);
}
}
}
如您所见,这非常简单。您只需要确保包含相关的命名空间(本例中为 testOfFunctions)即可使用您的 class。祝你好运! :)
我很郁闷...我似乎找不到 "How to call a method, or get a variable from another class" 的直接答案。我想做的是让第二个脚本在主脚本上使用一个变量(Game1.cs),或者触发一个方法。
我知道的唯一方法是创建一个新实例
Game1 mainScript = new Game1();
然后像这样调用它mainScript.myVariable
但我知道这行不通,因为我创建了一个新的 Game1,而不是使用原来的。我想知道是否有办法调用已经存在的 class,然后使用它的变量。
感谢您的帮助!
我想你会用static
class。
这种类型的class避免创建新的实例(静态的class不能被实例化)
访问以获取更多参考https://msdn.microsoft.com/en-US/en-en/library/79b3xss3.aspx
using System;
namespace TestOfFunctions;
{
public class Game1
{
private static int _someVariable = 15;
public static int SomeVariable
{
get { return _someVariable; }
set { _someVariable = value; }
}
}
public class MainClass
{
public static void Main()
{
Console.WriteLine (Game1.SomeVariable);
Game1.SomeVariable = 30;
Console.WriteLine (Game1.SomeVariable);
}
}
}
如您所见,这非常简单。您只需要确保包含相关的命名空间(本例中为 testOfFunctions)即可使用您的 class。祝你好运! :)