mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-04-22 02:32:50 +08:00
update internal code
This commit is contained in:
parent
667975362e
commit
3c47aaf8fe
@ -138,8 +138,27 @@ public static partial class FreeSqlGlobalExtensions
|
|||||||
.Append(string.Join(", ", genericParameters.Select(a => a.DisplayCsharp())))
|
.Append(string.Join(", ", genericParameters.Select(a => a.DisplayCsharp())))
|
||||||
.Append('>');
|
.Append('>');
|
||||||
|
|
||||||
sb.Append('(').Append(string.Join(", ", method.GetParameters().Select(a => $"{a.ParameterType.DisplayCsharp()} {a.Name}"))).Append(')');
|
sb.Append("(").Append(string.Join(", ", method.GetParameters().Select(a => LocalDisplayCsharpParameter(a)))).Append(")");
|
||||||
return sb.ToString();
|
return sb.ToString();
|
||||||
|
|
||||||
|
string LocalDisplayCsharpParameter(ParameterInfo lp)
|
||||||
|
{
|
||||||
|
var pstr = "";
|
||||||
|
object[] pattrs = new object[0];
|
||||||
|
try { pattrs = lp.GetCustomAttributes(false); } catch { }
|
||||||
|
if (pattrs.Any(a => a is ParamArrayAttribute)) pstr = "params ";
|
||||||
|
pstr = $"{pstr}{lp.ParameterType.DisplayCsharp()} {lp.Name}";
|
||||||
|
#if net40
|
||||||
|
if (pattrs.Any(a => a is System.Runtime.InteropServices.OptionalAttribute) == false) return pstr;
|
||||||
|
#else
|
||||||
|
if (lp.HasDefaultValue == false) return pstr;
|
||||||
|
#endif
|
||||||
|
if (lp.DefaultValue == null) return $"{pstr} = null";
|
||||||
|
if (lp.ParameterType == typeof(string)) return $"{pstr} = \"{lp.DefaultValue.ToString().Replace("\"", "\\\"").Replace("\r\n", "\\r\\n").Replace("\n", "\\n")}\"";
|
||||||
|
if (lp.ParameterType == typeof(bool) || lp.ParameterType == typeof(bool?)) return $"{pstr} = {lp.DefaultValue.ToString().Replace("False", "false").Replace("True", "true")}";
|
||||||
|
if (lp.ParameterType.IsEnum) return $"{pstr} = {lp.ParameterType.DisplayCsharp(false)}.{lp.DefaultValue}";
|
||||||
|
return $"{pstr} = {lp.DefaultValue}";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
public static object CreateInstanceGetDefaultValue(this Type that)
|
public static object CreateInstanceGetDefaultValue(this Type that)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user