コード例 #1
0
        public AssemblyDataType(Type type)
        {
            Name = type.Name;
            accessModificator = DataAccessModificator.GetTypeModifiers(type);
            typeAttribute     = DataAttribute.GetTypeAtributes(type);
            typeClass         = DataTypeClass.GetTypeClass(type);
            this.type         = type;

            Fields      = new List <AssemblyTypeMember>();
            IsGenerated = IsCompilerGenerated(type);

            var flags = BindingFlags.Instance |
                        BindingFlags.Static |
                        BindingFlags.NonPublic |
                        BindingFlags.Public |
                        BindingFlags.DeclaredOnly;

            foreach (var fieldInfo in type.GetFields(flags))
            {
                Fields.Add(new AssemblyTypeMember(fieldInfo, IsCompilerGenerated(fieldInfo)));
            }

            foreach (var properyInfo in type.GetProperties(flags))
            {
                Fields.Add(new AssemblyTypeMember(properyInfo, IsCompilerGenerated(properyInfo)));
            }

            foreach (var methodInfo in type.GetMethods(flags))
            {
                if (!methodInfo.IsDefined(typeof(ExtensionAttribute), false))
                {
                    Fields.Add(new AssemblyTypeMember(methodInfo, IsCompilerGenerated(methodInfo)));
                }
            }
        }
コード例 #2
0
ファイル: TypeField.cs プロジェクト: Den25570/AssemblyBrowser
        public TypeField(FieldInfo fieldInfo)
        {
            name           = fieldInfo.Name;
            this.fieldInfo = fieldInfo;

            accessModificator = DataAccessModificator.GetTypeModifiers(fieldInfo);
        }
コード例 #3
0
        public TypeMethod(MethodInfo methodInfo, bool isExtension = false)
        {
            name = methodInfo.Name;
            IsExtensionMethod = isExtension;
            this.methodInfo   = methodInfo;

            accessModificator = DataAccessModificator.GetTypeModifiers(methodInfo);
            typeAttribute     = DataAttribute.GetAttributes(methodInfo);
        }
コード例 #4
0
ファイル: TypeField.cs プロジェクト: Den25570/AssemblyBrowser
        public override string GetFullName()
        {
            string result =
                DataAccessModificator.GetString(accessModificator) + " " +
                AssemblyDataType.GetTypeGenericName(fieldInfo.FieldType) + " " +
                name;

            return(result);
        }
コード例 #5
0
        public string GetFullName()
        {
            string accessModificatorString = DataAccessModificator.GetString(accessModificator);
            string typeAttributeString     = DataAttribute.GetString(typeAttribute);
            string typeClassString         = DataTypeClass.GetString(typeClass);

            return
                ((accessModificatorString != "" ? (accessModificatorString + " ") : "") +
                 (typeAttributeString != "" ? (typeAttributeString + " ") : "") +
                 (typeClassString != "" ? (typeClassString + " ") : "") +
                 GetTypeGenericName(type));
        }
コード例 #6
0
        public AssemblyDataType(Type extendedType, MethodInfo[] extensionMethods)
        {
            Name = extendedType.Name;
            accessModificator = DataAccessModificator.GetTypeModifiers(extendedType);
            typeAttribute     = DataAttribute.GetTypeAtributes(extendedType);
            typeClass         = DataTypeClass.GetTypeClass(extendedType);
            this.type         = extendedType;

            Fields = new List <AssemblyTypeMember>();
            foreach (var methodInfo in extensionMethods)
            {
                Fields.Add(new AssemblyTypeMember(methodInfo, IsCompilerGenerated(methodInfo), true));
            }
        }
コード例 #7
0
        public override string GetFullName()
        {
            string paramsString = "(";

            foreach (var parameter in methodInfo.GetParameters())
            {
                if (paramsString != "(")
                {
                    paramsString += " ,";
                }
                paramsString +=
                    (parameter.IsOut ? "out " : parameter.IsIn ? "in " : parameter.ParameterType.IsByRef ? "ref " : "") +
                    AssemblyDataType.GetTypeGenericName(parameter.ParameterType) + " " + parameter.Name;
            }
            paramsString += ")";

            string typeAttributeString = DataAttribute.GetString(typeAttribute);

            return
                (DataAccessModificator.GetString(accessModificator) + " " +
                 (typeAttributeString != "" ? typeAttributeString + " " : "") +
                 AssemblyDataType.GetTypeGenericName(methodInfo.ReturnType) + " " +
                 name + paramsString);
        }