У меня есть следующие классы. Для целей тестирования я хотел бы получить все возможные перестановки класса Client. Я знаю, что число может быть очень большим, но сейчас это не моя проблема.
Клиент: Нет (int), Имя (строка), Адрес (объект адреса)
Адрес: улица (строка), страна (строка) и т. Д.
Для свойства типа int я всегда пробую одни и те же три значения (-1, 0, 1) для строки (null, string.Empty, "Hello World" и т. Д.). Для базовых типов это работает хорошо. Однако для класса Address это не так.
Вкратце, я пытаюсь написать метод, достаточно универсальный, чтобы использовать любой тип (класс и т. Д.) И получить все возможные перестановки (другими словами: public IEnumerable GetPermutations (Type myType)). С помощью .NET Reflection этот метод будет зацикливаться на всех настраиваемых свойствах.
Кто-нибудь знает, как это сделать?
Спасибо