replace expression in FormatterExtensionsSerializer with invoke

This commit is contained in:
ousttrue
2019-02-01 19:28:38 +09:00
parent 9990021eb7
commit ec9a8da1ce
4 changed files with 74 additions and 53 deletions

View File

@@ -56,11 +56,21 @@ namespace UniJSON
var source = @"
public static Action<S, $0> Create<S, $0>(MethodInfo m)
{
Action<S, $0> callback=
(s, $1) =>
Action<S, $0> callback = null;
if (m.IsStatic)
{
m.Invoke(s, new object[] { $1 });
};
callback = (s, $1) =>
{
m.Invoke(null, new object[] { s, $1 });
};
}
else
{
callback = (s, $1) =>
{
m.Invoke(s, new object[] { $1 });
};
}
return callback;
}
".Replace("$0", g).Replace("$1", a);

View File

@@ -12,33 +12,63 @@ namespace UniJSON
public static Action<S, A0> Create<S, A0>(MethodInfo m)
{
Action<S, A0> callback=
(s, a0) =>
Action<S, A0> callback = null;
if (m.IsStatic)
{
m.Invoke(s, new object[] { a0 });
};
callback = (s, a0) =>
{
m.Invoke(null, new object[] { s, a0 });
};
}
else
{
callback = (s, a0) =>
{
m.Invoke(s, new object[] { a0 });
};
}
return callback;
}
public static Action<S, A0, A1> Create<S, A0, A1>(MethodInfo m)
{
Action<S, A0, A1> callback=
(s, a0, a1) =>
Action<S, A0, A1> callback = null;
if (m.IsStatic)
{
m.Invoke(s, new object[] { a0, a1 });
};
callback = (s, a0, a1) =>
{
m.Invoke(null, new object[] { s, a0, a1 });
};
}
else
{
callback = (s, a0, a1) =>
{
m.Invoke(s, new object[] { a0, a1 });
};
}
return callback;
}
public static Action<S, A0, A1, A2> Create<S, A0, A1, A2>(MethodInfo m)
{
Action<S, A0, A1, A2> callback=
(s, a0, a1, a2) =>
Action<S, A0, A1, A2> callback = null;
if (m.IsStatic)
{
m.Invoke(s, new object[] { a0, a1, a2 });
};
callback = (s, a0, a1, a2) =>
{
m.Invoke(null, new object[] { s, a0, a1, a2 });
};
}
else
{
callback = (s, a0, a1, a2) =>
{
m.Invoke(s, new object[] { a0, a1, a2 });
};
}
return callback;
}