今天在做毕设的过程中,由于需要使用到Unity3D, 所以使用c#来进行模型驱动。在通过socket接收到人脸特征点数据之后,需要用数据驱动特征点位置,为了使程序逻辑清晰,我把接收数据和数据驱动分成了两个c#脚本。但是问题也来了,c#中如何使用“全局变量”,c/cpp可以使用extern来声明变量,使得变量可以在不同文件之间共享,但是c#有类似的功能吗?
标签(空格分隔): C# static class
静态类
静态类(static class)不能实例化,这是静态类与非静态类一个显著的区别。
静态类的主要特征
- 仅包含静态成员。
- 无法实例化。
- 静态类的本质,是一个抽象的密封类,所以不能被继承,也不能被实例化。
- 不能包含实例构造函数。
- 如果一个类下面的所有成员,都需要被共享,那么可以把这个类定义为静态类。
数据共享
在unity3d c# 中,可以用public
来修饰一个静态类,表示从外部包可以访问这个类。
要注意的是,静态类内部使用的变量或方法也必须使用static关键字修饰,也就是说静态类中的所有变量和方法都需要使用static修饰。
例子:
通过在file.cs
中定义一个静态类pubilc static Myclass{}
,但是不能实例化.
可以直接对其成员进行访问Myclass.mem()
.
如果在other.cs
中需要对其进行访问,可以使用file.Myclass.mem()
来访问成员进行操作。