Код: Выделить всё
public class Bob
{
public String Surname { get; set; }
private Bob()
{ }
public Bob(string surname)
{
Surname = surname;
}
}
< /code>
Я могу получить доступ к частному конструктору с помощью статического метода в классе, как это: < /p>
public static Bob GetBob()
{
return new Bob();
}
static class Fred
{
public static Bob Bobby(this Bob bob)
{
return new Bob();
}
}
< /code>
Итак, как я могу получить доступ к частному конструктору? < /p>
Спасибо < /p>
Изменить: < /h1>
Причина, по которой я хотел сделать это, заключалась в том, что я хотел создать тесты для одного из наших бизнес -классов, но не позволить потребителю этого класса иметь возможность иметь возможность Неправильно создать объект. Я тестирую это, поэтому я знаю (я надеюсь!) При каких обстоятельствах тесты потерпят неудачу. Я все еще сейчас тестирование N00B, поэтому моя идея могла или не была «неправильным способом». Потребитель этого класса, то есть вызов общественным методам и если публичные методы в порядке, предполагая, что частные методы в порядке. Я бы все еще предпочел бы проверить личные методы, но мой босс - дышать моей шеей на результате:-(
Подробнее здесь: https://stackoverflow.com/questions/416 ... in-c-sharp