反射工具 - Snet Docs

🪞 反射工具

ReflectionOperate 提供运行时的动态 DLL 加载、方法调用和事件注册功能。

ReflectionOperate

var basics = new ReflectionData.Basics
{
    DllDatas = new List<DllData>
    {
        new DllData
        {
            DllPath = "MyParser.dll",
            IsAbsolutePath = false,
            NamespaceDatas = new List<NamespaceData>
            {
                new NamespaceData
                {
                    Namespace = "MyParser",
                    ClassDatas = new List<ClassData>
                    {
                        new ClassData
                        {
                            SN = "parser-1",
                            ClassName = "TemperatureParser",
                            MethodDatas = new List<MethodData>
                            {
                                new MethodData { SN = "parse", MethodName = "ParseTemperature" }
                            }
                        }
                    }
                }
            }
        }
    }
};

var reflect = new ReflectionOperate(basics);
reflect.Init();
object result = reflect.ExecuteMethod("parse", new object[] { rawValue });
reflect.Dispose();

配置结构

DllData
  DllPath, IsAbsolutePath
  NamespaceData
    Namespace
    ClassData
      SN, ClassName, ConstructorParam
      MethodData — SN, MethodName, WhetherExecute
      EventData  — SN, EventName

API

方法 描述
Init() 加载 DLL,实例化类,绑定方法/事件
ExecuteMethod(sn, params) 通过 SN 调用方法
RegisterEvent(sn, register, ...) 订阅/取消订阅事件
Dispose() 释放资源

ParamModel

当在任何操作类上调用 GetParam() 时,CoreUnify 使用反射自动生成 ParamModel 对象,用于自动 UI 渲染。

另请参阅