В C # каждый объект имеет тип, поэтому свойство Services
должно иметь фактический тип , если вы хотите сослаться на MyCustomService
и MyCustomService2
через точечную запись:
class Contact {
public ServiceContainer Services { get; set; }
}
class ServiceContainer {
public Service1 Service1 { get; set; }
public Service2 Service2 { get; set; }
}
Однако, если контейнер служит не для каких-либо других целей, кроме как для хранения службы (при условии, что это какой-то объект), вам, вероятно, следует хранить их в списке или массиве (доступ по индексу) или в словаре (доступ по строке).
Чтобы дать вам больше информации, мне нужно знать , что такое , что это за услуги, ожидаете ли вы, что их набор изменится, будут ли они разных типов и т. Д.