Первый ответ - это то, о чем я думал. Спасибо.
До Unity мы создали наш собственный контейнер IOC, и у нас есть синтаксис, похожий на ...
<constructor>
<param name="factory" value="[{factory}]"/>
</constructor>
[{factory}] заставляет его передавать себя в качестве параметра.
Что касается установки его как статического: мне не нравится использовать этот подход, потому что каждый объект становится зависимым от единственного свойства (очевидно). Он менее пригоден для повторного использования и менее тестируем, особенно, если статический только для чтения (что и должно быть). После того, как статическое настроено, вы не можете (или не должны) связываться с ним, что ограничивает тестовые сценарии, которые вы можете создать.
Если ничего другого, то объекты должны, по крайней мере, иметь возможность принимать контейнер в качестве параметра. Если его там нет, то он может вернуться к статическому электричеству.
Мы пошли по пути использования единственного экземпляра и закончили тем, что все изменили. На мой взгляд, объекты должны быть более гибкими, чем это. Если потребитель объектов хочет иметь один экземпляр, который он передает своим объектам, это зависит от потребителя. Но сам объект не должен этого требовать. С синтаксисом, показанным выше, очень просто пропустить контейнер через график.
Спасибо за информацию.
Jay
Извините ... новый парень. Теперь я вижу, что это должен был быть комментарий, а не ответ.