Exemple #1
0
        public TypeValueInfo(Type valueType)
        {
            SourceType = null;
            Name       = null;
            TreeName   = null;
            ParentName = null;

            Type enumerableType = null;

            if (valueType != typeof(string))
            {
                enumerableType = zReflection.GetEnumerableType(valueType);
            }
            if (enumerableType != null)
            {
                ValueType    = enumerableType;
                IsEnumerable = true;
            }
            else
            {
                ValueType    = valueType;
                IsEnumerable = false;
            }

            IsValueType   = TypeReflection.IsValueType(ValueType);
            DeclaringType = null;
            ReflectedType = null;
            MemberTypes   = 0;
            MetadataToken = 0;
            Module        = valueType.Module;
        }
Exemple #2
0
        public Module Module;                // ex RunCode_00002.dll

        public TypeValueInfo(Type sourceType, MemberInfo memberInfo)
        {
            SourceType = sourceType;
            Name       = memberInfo.Name;
            TreeName   = memberInfo.Name;
            ParentName = null;

            Type valueType      = memberInfo.zGetValueType();
            Type enumerableType = null;

            if (valueType != typeof(string))
            {
                enumerableType = zReflection.GetEnumerableType(valueType);
            }
            if (enumerableType != null)
            {
                ValueType    = enumerableType;
                IsEnumerable = true;
            }
            else
            {
                ValueType    = valueType;
                IsEnumerable = false;
            }

            IsValueType   = TypeReflection.IsValueType(ValueType);
            DeclaringType = memberInfo.DeclaringType;
            ReflectedType = memberInfo.ReflectedType;
            MemberTypes   = memberInfo.MemberType;
            MetadataToken = memberInfo.MetadataToken;
            Module        = memberInfo.Module;
        }