Я работаю над запросом функции для построителя тестовых данных .NET. Мне нужно создавать экземпляры классов, которые имеют только частные конструкторы без параметров.
Например, мне может потребоваться создать экземпляр следующего класса:
public class MyClass()
{
private MyClass(){}
}
Для большинства других классов я использую следующий код:
(T)Activator.CreateInstance(typeof(T), true)
Но для классов, у которых есть только частный конструктор без параметров, я использую следующее:
(T)FormatterServices.GetUninitializedObject(typeof(T))
К сожалению, у меня также есть требование, чтобы эта работа работала в Silverlight, и, к сожалению, Silverlight в настоящее время не содержит System.Runtime.Serialization.FormatterServices.
Кто-нибудь знает что-нибудь в реализации Silverlight, что позволило бы мне обойти это? Если это не удастся, знает ли кто-нибудь, как я могу реализовать мою собственную версию этого метода?