
看到有人用这个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。咱们添加一个新变量Age3实现成员访问。这个也要用G#的IDE创建不能用LabVIEW原生的。很简单。比如我要实现Age的写和读。创建属性读写。属性名字自己填一个。然后Attribute下拉框自己选择一个属性Age然后项目文件目录结构是下面这样。4.开始写程序。把之前默认生成的Create和Destroy放进来。千万不要像LabVIEW原生的类一样直接拖进来像下面这样用法不能用。我们做个小DemoAge设置一下然后读Age。运行OK。当然也可以用属性节点访问成员和LabVIEW原生的用法一样。如果对labVIEW的类用法比较熟悉。过渡到G#应该轻车熟路了。更多知识关注小草手把手LabVIEW