|
|
@@ -82,6 +82,42 @@ namespace YSAI.Core.@interface
|
|
|
3.应用代码如下
|
|
|
4.协议包内还有内部公共方法,请自行研究使用
|
|
|
|
|
|
+
|
|
|
+------------------------------------------------------
|
|
|
+实例创建的几种方式
|
|
|
+
|
|
|
+//第一种方式
|
|
|
+BeckhoffOperate beckhoffOperate1 = new BeckhoffOperate();
|
|
|
+//第二种方式(单例模式)
|
|
|
+BeckhoffOperate? beckhoffOperate2 = new BeckhoffOperate().CreateInstance(new BeckhoffData.Basics()).GetRData<BeckhoffOperate>();
|
|
|
+//第三种方式(单例模式)
|
|
|
+BeckhoffOperate beckhoffOperate3 = BeckhoffOperate.Instance(new BeckhoffData.Basics());
|
|
|
+//第四种方式
|
|
|
+using (BeckhoffOperate beckhoffOperate4 = new BeckhoffOperate())
|
|
|
+{
|
|
|
+ //使用完直接释放
|
|
|
+}
|
|
|
+//第五种方式
|
|
|
+using (BeckhoffOperate beckhoffOperate5 = BeckhoffOperate.Instance(new BeckhoffData.Basics()))
|
|
|
+{
|
|
|
+ //使用完直接释放这个单例
|
|
|
+}
|
|
|
+//第六种方式
|
|
|
+using (BeckhoffOperate? beckhoffOperate6 = new BeckhoffOperate().CreateInstance(new BeckhoffData.Basics()).GetRData<BeckhoffOperate>())
|
|
|
+{
|
|
|
+ //使用完直接释放这个单例
|
|
|
+}
|
|
|
+
|
|
|
+//第一种的应用场景是获取库参数信息时当这个对象已经实例化了,但是实际功能无法使用,就可以直接使用 CreateInstance 创建一个单例模式
|
|
|
+//先获取参数
|
|
|
+beckhoffOperate1.GetParam();
|
|
|
+//在生成单例后赋值
|
|
|
+beckhoffOperate1 = beckhoffOperate1.CreateInstance(new BeckhoffData.Basics()).GetRData<BeckhoffOperate>();
|
|
|
+//这样当前实例就已经可以使用所有功能,并且是单例的存在
|
|
|
+
|
|
|
+//第二种与第三种就是直接创建单例模式,但第二种是为了在反射的情况下使用单例模式,第二种也是为第一种情况而产生
|
|
|
+
|
|
|
+
|
|
|
------------------------------------------------------
|
|
|
|
|
|
//采集协议
|
|
|
@@ -359,4 +395,7 @@ while(true)
|
|
|
3. 移除单独生成库配置文件
|
|
|
4. 细节优化
|
|
|
5. 新增结构参数类
|
|
|
-6. 版本更新
|
|
|
+6. 版本更新
|
|
|
+
|
|
|
+#### 2023-11-02
|
|
|
+1. 新增创建单例接口方法,为了在反射或获取参数的情况下使用所有功能
|