有没有办法用Reflection创建HttpPostedFile的实例?使用反射创建HttpPostedFile的实例
我想:
var obj = (HttpPostedFile)typeof(HttpPostedFile).GetConstructor(
BindingFlags.NonPublic | BindingFlags.Instance,
null, Type.EmptyTypes, null).Invoke(null);
var obj2 = Activator.CreateInstance(typeof(HttpPostedFile)
, BindingFlags.NonPublic | BindingFlags.Instance
, null
, new object[] { }
, System.Globalization.CultureInfo.CurrentCulture);
但他们都不起作用。
更新:显然是内部构造是这样的:
internal HttpPostedFile(string filename, string contentType, Stream stream)
我试过,但没有成功:
Stream s = new MemoryStream(b.blob);
//var httpPostedFile = new HttpPostedFile();
Type[] parameters = { typeof(string), typeof(string), typeof(Stream) };
var obj = (HttpPostedFile)typeof(HttpPostedFile).GetConstructor(
BindingFlags.NonPublic | BindingFlags.Instance,
null, parameters, null)
.Invoke(new object[] { "filename", "image/jpeg", s });
用于单元测试吗? – bniwredyc 2009-12-17 11:06:46
是的,它用于单元测试。 – 2009-12-17 11:25:44