Added a strongly-typed property for the type to ResolvedParameter and ResolvedMethod

This commit is contained in:
George Duckett 2017-12-21 10:27:39 +00:00 committed by Ben Adams
parent 9945e82cb7
commit b5b3a19b66
3 changed files with 14 additions and 4 deletions

View File

@ -183,15 +183,18 @@ namespace System.Diagnostics
Prefix = "",
Name = "",
Type = TypeNameHelper.GetTypeDisplayName(mi.ReturnType, fullName: false, includeGenericParameterNames: true).ToString(),
ResolvedType = mi.ReturnType,
};
}
}
if (method.IsGenericMethod)
{
var genericArguments = string.Join(", ", method.GetGenericArguments()
var genericArguments = method.GetGenericArguments();
var genericArgumentsString = string.Join(", ", genericArguments
.Select(arg => TypeNameHelper.GetTypeDisplayName(arg, fullName: false, includeGenericParameterNames: true)));
methodDisplayInfo.GenericArguments += "<" + genericArguments + ">";
methodDisplayInfo.GenericArguments += "<" + genericArgumentsString + ">";
methodDisplayInfo.ResolvedGenericArguments = genericArguments;
}
// Method parameters
@ -535,6 +538,7 @@ namespace System.Diagnostics
Prefix = prefix,
Name = parameter.Name,
Type = parameterTypeString,
ResolvedType = parameterType,
};
}
@ -566,6 +570,7 @@ namespace System.Diagnostics
Prefix = prefix,
Name = parameter.Name,
Type = parameterTypeString,
ResolvedType = parameterType,
};
}
@ -605,6 +610,7 @@ namespace System.Diagnostics
Prefix = prefix,
Name = name,
Type = sb.ToString(),
ResolvedType = parameterType,
};
}

View File

@ -1,4 +1,4 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Collections.Generic.Enumerable;
@ -25,6 +25,8 @@ namespace System.Diagnostics
public string GenericArguments { get; set; }
public Type[] ResolvedGenericArguments { get; set; }
public MethodBase SubMethodBase { get; set; }
public string SubMethod { get; set; }

View File

@ -1,4 +1,4 @@
// Copyright (c) Ben A Adams. All rights reserved.
// Copyright (c) Ben A Adams. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Text;
@ -11,6 +11,8 @@ namespace System.Diagnostics
public string Type { get; set; }
public Type ResolvedType { get; set; }
public string Prefix { get; set; }
public override string ToString() => Append(new StringBuilder()).ToString();