📜  如何在不显示在检查器中的情况下公开变量 - C# (1)

📅  最后修改于: 2023-12-03 15:24:36.811000             🧑  作者: Mango

如何在不显示在检查器中的情况下公开变量 - C#

在C#中,您可以通过在类中定义公共字段或属性来公开变量。这意味着其他对象可以访问和更改它。然而,在某些情况下,您可能希望将一个变量公开给其他对象,但不想暴露它在检查器中,如下述所示。

1. 使用属性

在定义公共属性时,您可以指定特性,告诉Unity不要在检查器中显示它们。这可以通过将HideInInspector特性应用于属性来完成。以下是一个示例:

public class MyClass : MonoBehaviour
{
    [HideInInspector]
    public int myInt;
}

在上面的示例中,myInt属性是公共的,但它被标记为HideInInspector,所以它不会显示在Unity的检查器中。

2. 使用private set属性

您还可以使用私有集合属性来公开变量,但仍然不暴露在检查器中。以下是一个示例:

public class MyOtherClass : MonoBehaviour
{
    public int MyInt { get; private set; }
}

在上面的示例中,MyInt属性只能在MyOtherClass中设置,但其他对象可以读取它。由于没有公共set访问器,因此MyInt不会在检查器中显示。

3. 使用静态变量

静态变量可以在类级别上访问,而不需要实例化一个对象。因此,您可以将静态变量用作公共变量,而不需要暴露在检查器中。以下是一个示例:

public class MyThirdClass : MonoBehaviour
{
    public static int myStaticInt;
}

在上面的示例中,myStaticInt变量是公共的,并且可以通过MyThirdClass.myStaticInt进行访问。但是,它不会在检查器中显示。

结论

在C#中,您可以使用属性、私有set属性或静态变量来公开变量,但不必将它们暴露在检查器中。这可通过将特定特性应用于字段或属性来完成。对于那些希望了解如何在不显示在检查器中的情况下公开变量的程序员来说,这些技巧应该很有用。