public SerializableType(TypeDTG type) { DictionaryOfTypes.Instance.RegisterType(type.Name, this); Name = type.Name; MetadataName = type.MetadataName; SernamespaceName = type.SernamespaceName; if (type.GenericArguments != null) { GenericArguments = type.GenericArguments?.Select(t => SerializableType.LoadType(t)).ToList(); } if (type.NestedTypes != null) { NestedTypes = type.NestedTypes?.Select(nt => SerializableType.LoadType(nt)).ToList(); } if (type.Interfaces != null) { Interfaces = type.Interfaces?.Select(i => SerializableType.LoadType(i)).ToList(); } if (type.SerMethods != null) { SerMethods = type.SerMethods?.Select(m => new SerializableMethod(m)).ToList(); } if (type.SerConstructors != null) { SerConstructors = type.SerConstructors?.Select(c => new SerializableMethod(c)).ToList(); } if (type.SerProperties != null) { SerProperties = type.SerProperties?.Select(p => new SerializableProperty(p)).ToList(); } }
public SerializableMethod(MethodDTG method) { Name = method.Name; MetadataName = method.MetadataName; if (method.SerReturnType != null) { SerReturnType = SerializableType.LoadType(method.SerReturnType); } SerParameters = method.SerParameters?.Select(p => new SerializableParameter(p)).ToList(); }
public SerializableParameter(ParameterDTG parameter) { Name = parameter.Name; MetadataName = parameter.MetadataName; Type = SerializableType.LoadType(parameter.Type); }
public SerializableProperty(PropertyDTG property) { Name = property.Name; MetadataName = property.MetadataName; SerType = SerializableType.LoadType(property.SerType); }