null, \"EntityProperties\": { \"$type\": \"SolarWinds.InformationService.Contract2.PropertyBag dictionary["1"] = new Object(); // replace here with SessionSecurityToken gadget var propertyBag = new PropertyBag(dictionary); swisEntityContext.EntityProperties = propertyBag;
除了FInstancedStruct外,StructUtils这个插件里还有很多其他非常有用的类,比如StructTypeBitSet,StructView,SharedStruct,PropertyBag FChunkedStructBuffer 这两个类就不细说了,也是混合结构体的容器,相比于FInstancedStructArray或者TArray<FInstancedStruct>的区别就是不支持随机访问,只能按顺序迭代访问 PropertyBag 如果就是想要在结构体中保存对象,这时可以使用StructUtils插件中的PropertyBag来实现,同时也支持任意增加,删除内部的属性,是一个非常强大又有用的类。 引擎中的StateTree的参数就是使用PropertyBag来实现的: 在编辑器中可以看到,支持添加任意类型,保存StateTree时,Parameters数据也能正常保存。 GetOrCreateFromDescs的源码可以发现,其实这个ScriptStruct并不是在编译或者在蓝图阶段提前就创建好的一个类,而是在运行时根据传入的子类型的hash来动态创建不同的UPropertyBag,这样就保证了不同结构的PropertyBag
., 有很多非类型化的字典中使用,例如Session, Form, QueryString, Context.Items和 MonoRail's PropertyBag ,也可以用来包装 app.settings
ControlDesigner.OnPaintAdornments(PaintEventArgs) void .ctor() void ControlDesigner..ctor() Class Netron.GraphLib.PropertyBag PaintEventArgs) Not Specified void .ctor() void ControlDesigner..ctor() Not Specified Class Netron.GraphLib.PropertyBag