如何使用.net v1.1获取对System.Web.Configuration.MachineKey.GetEncodedData方法的引用?
使用以下代码返回null:
Type t = typeof(System.Web.Configuration.HttpCapabilitiesBase)
.Assembly
.GetType("System.Web.Configuration.MachineKey");
MethodInfo method = t.GetMethod("GetEncodedData",
BindingFlags.NonPublic | BindingFlags.Static,
null,
new Type[] { typeof(byte[]), typeof(byte[]), typeof(int), typeof(int) },
new ParameterModifier[0]
);
答案 0 :(得分:1)
好的,所以听起来问题是.NET 1.1中没有等效的Type.MakeByRef
。
您可以能够使用Type.GetType("System.Int32&")
来获取:
MethodInfo method = t.GetMethod("GetEncodedData",
BindingFlags.NonPublic | BindingFlags.Static,
null,
new Type[] { typeof(byte[]), typeof(byte[]),
typeof(int), Type.GetType("System.Int32&" },
new ParameterModifier[0]
);
或者,您始终可以使用GetMethods
参数创建自己的方法(例如,您只能使用ref int
找到),并使用 < / em>参数类型。 Icky,但是......
当然,所有这一切都让人觉得非常脆弱。我假设你有一个非常好的理由想要在一个非常过时的框架版本上调用内部方法......