看到有人用这个G#,但是国内外资料很少,所以研究了一下,稍微记录一下。
G#里面设计的巧妙,其中之一,就是用了DVR函数。这个函数藏的很深。

为啥用它,估计有人会去百度。
其实就一句话,为了"传引用",而且是常量的引用。这里是指类。
用过Actor FrameWork的人可能研究过这个框架,这个框架也用了DVR。
这样任何地方都可以读写这个类。
大家记住,传递引用就行了。具体不要深究。
资料都来自官方手册:https://addq4.se/gsharp/gsharponlinemanual.htm
首先,是安装。使用万能的VIPM上搜索。

其次,是使用。
和一般的类使用差不多。只是都要经过G#这个插件来生成了。
和LabVIEW原始类一样。我们来看看基础功能。
1,创建类
一样的,右键,选择G# class。

比如我创建一个xiaocao的类 。下面的模板Template就选默认的就行。

点击Create Class后。会继续弹出一个设置图标的界面。很人性化。这里可以快捷设置图标。

点击Apply,就默认这个图标。
创建后,就是下面这样的项目布局。需要关注的是下面箭头的三个东西。
- ObjectAttributes.ctl。这里是以前原生class的那个xiaocao.ctl功能。未来成员变量,都在这里放置,原生的那个就用不到了。
- xiaocao_Create.vi这个是系统默认生成的,
- Detroy.vi也是系统生成的。
使用时候,引用一样。先Create,在操作,最后Destroy
这里和LabVIEW原生的类不一样,原生的class,拖到程序框图就可以用了。但是使用G#时候,不能直接拖进来用,必须用类_Create这个vi才行。

2,添加成员变量。

或者,直接找到这个ctl,双击也行。

默认,只有一个MyAttribute。

咱们添加一个新变量,Age

3,实现成员访问。
这个也要用G#的IDE创建,不能用LabVIEW原生的。
很简单。比如我要实现Age的写和读。
创建属性,读写。

属性名字自己填一个。
然后Attribute下拉框 ,自己选择一个属性Age

然后项目文件目录结构是下面这样。

4.开始写程序。
把之前默认生成的Create和Destroy放进来。

千万不要像LabVIEW原生的类一样,直接拖进来,像下面这样用法,不能用。

我们做个小Demo,Age设置一下,然后读Age。运行OK。

当然,也可以用属性节点访问成员,和LabVIEW原生的用法一样。

如果对labVIEW的类用法比较熟悉。过渡到G#应该轻车熟路了。
更多知识:关注:小草手把手LabVIEW