示例#1
0
 public TypeData(Type type, TypeName className, TypeName interfaceName, TypeBuildStatus buildStatus)
 {
     Type          = type;
     ClassName     = className;
     InterfaceName = interfaceName;
     BuildStatus   = buildStatus;
 }
示例#2
0
        public DelegateData(Type type, TypeName className, TypeName interfaceName, TypeBuildStatus buildStatus, WrapperBuilder builder, HashSet <TypeData> typeDatas)
            : base(type, className, interfaceName, buildStatus)
        {
            var invokeMethod = type.GetMethod("Invoke");

            ReturnType = builder.GetTypeData(invokeMethod.ReturnType, typeDatas);
            DependentTypes.UnionWith(ReturnType.GetPublicTypes());
            var parameterInfos = invokeMethod.GetParameters();

            if (parameterInfos?.Length > 0)
            {
                foreach (var parameter in parameterInfos)
                {
                    var parameterType     = parameter.ParameterType;
                    var parameterTypeData = builder.GetTypeData(parameterType, typeDatas);
                    DependentTypes.UnionWith(parameterTypeData.GetPublicTypes());
                    Parameters.Add(new ParameterData(parameterTypeData, parameter.Name, parameter.IsOut));
                }
            }
        }
示例#3
0
 public ClassData(Type type, TypeName className, TypeName interfaceName, TypeBuildStatus buildStatus, ClassData?baseType)
     : base(type, className, interfaceName, buildStatus)
 {
     BaseType = baseType;
 }
示例#4
0
 protected TypeMembersData(Type type, TypeName className, TypeName interfaceName, TypeBuildStatus buildStatus)
     : base(type, className, interfaceName, buildStatus)
 {
 }
示例#5
0
 protected TypeMembersData(Type type, TypeName name, TypeBuildStatus buildStatus = TypeBuildStatus.NotBuilding)
     : base(type, name, buildStatus)
 {
 }
示例#6
0
 public InterfaceData(Type type, TypeName className, TypeName interfaceName, TypeBuildStatus buildStatus)
     : base(type, className, interfaceName, buildStatus)
 {
 }
示例#7
0
 public TypeData(Type type, TypeName name, TypeBuildStatus buildStatus = TypeBuildStatus.NotBuilding)
     : this(type, name, name, buildStatus)
 {
 }