В диалоговом окне «Данные отчета» ... «Новый набор данных» у меня всего около 5 классов. Ни один из моих основных бизнес-классов не появляется. Некоторые, которые появляются, не показывают и свойства. Некоторые из них являются общими, и нет смысла даже показывать их. например SortedListBase<T> : SortedKeyedCollection<int, T> where T : IdEntity
с двумя публичными статическими методами:
public static SortedListBase<T> Build(string StoredProc, CTorDelegate CTorDelegate, Action<SqlCommand> AddParameters)
public static SortedListBase<T> Build(string StoredProc, CTorDelegate CTorDelegate)
которые отображаются как:
SortedListBase`1 (Build)
SortedListBase`1 (Build)
И ни один из них на самом деле ничего не может сделать, так как они полностью универсальны.
У большинства моих классов есть частные конструкторы, и это, по-видимому, может помешать им появиться. Классы обычно имеют статические методы, которые возвращают коллекции, а также частные конструкторы и статические фабричные методы. Я создал тестовый класс, который обнаруживается (он возвращает null в виде списка), а затем я пошел и добавил частный конструктор без параметров (у него не было явного конструктора, когда я его создавал) и bam - он исчез.
Полагаю, это потому, что я склонен использовать меньше классов - у меня просто есть методы экземпляра (для действий, свойств и т. Д.) И статические методы (для списков и фабрик) в одном классе? Большинство людей помещают свои методы списка объектов в свой собственный класс, который имеет открытый конструктор?
Разве нельзя добавить классы с закрытыми конструкторами? Если это так, то лучше ли просто создавать фиктивные классы, с которыми вы связываетесь во время разработки, а затем во время выполнения указывают на метод, который выполняет реальную работу и возвращает реальный список?