Есть ли способ создать экземпляр HttpPostedFile с Reflection.Создание экземпляра 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);
Но оба они не работают.
Update: по-видимому, внутренний конструктор выглядит следующим образом:
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
Да, это для модульного тестирования. –