コード例 #1
0
 static public bool PropIsContainer(SPropertyData property)
 {
     return(property.PropType.Contains("std::vector") |
            property.PropType.Contains("std::map") |
            property.PropType.Contains("std::unordered") |
            property.PropType.Contains("std::array"));
 }
コード例 #2
0
        public static List <SPropertyData> GetObjectProperties(IntPtr _object, string _typename = "ISSilentObject")
        {
            var list = new List <SPropertyData>();
            SPropertyDataArrayWrapper wrapper;

            GetObjectProperties(_object, out wrapper, _typename);
            for (int i = 0; i < wrapper.num; i++)
            {
                SPropertyData _meta = new SPropertyData();
                unsafe
                {
                    SPropertyDataWrapper *_wrapper = wrapper.wrappers[i];
                    _meta.PropName        = new string((*_wrapper).PropName);
                    _meta.PropType        = new string((*_wrapper).PropType);
                    _meta.PropDescription = new string((*_wrapper).PropDescription);
                    _meta.SourceType      = new string((*_wrapper).SourceType);
                    _meta.SObject         = _object;
                    list.Add(_meta);
                }
            }
            return(list);
        }