예제 #1
0
파일: TypeParser.cs 프로젝트: Eragra3/Dogu
        private Parameter ParseParameter(ParameterInfo parameterInfo)
        {
            string?defaultValue = parameterInfo.HasDefaultValue
                ? parameterInfo.DefaultValue?.ToString() ?? "null"
                : null;

            bool isRef = !parameterInfo.IsOut && parameterInfo.ParameterType.IsByRef;

            var parameters = new ParameterParameters
            {
                Name             = parameterInfo.Name,
                RawType          = parameterInfo.ParameterType,
                RawParameterInfo = parameterInfo,
                Type             = ReflectionUtility.GetGeneralizedTypeName(parameterInfo.ParameterType),
                IsOut            = parameterInfo.IsOut,
                IsIn             = parameterInfo.IsIn,
                IsOptional       = parameterInfo.IsOptional,
                IsRef            = isRef,
                DefaultValue     = defaultValue
            };

            var parameter = new Parameter(parameters);

            return(parameter);
        }
예제 #2
0
 public Parameter(ParameterParameters parameters)
 {
     Name             = parameters.Name;
     RawType          = parameters.RawType;
     RawParameterInfo = parameters.RawParameterInfo;
     Type             = parameters.Type;
     IsOut            = parameters.IsOut;
     IsIn             = parameters.IsIn;
     IsOptional       = parameters.IsOptional;
     IsRef            = parameters.IsRef;
     DefaultValue     = parameters.DefaultValue;
 }