2014-01-17 7 views
0

У меня ситуация:Создать объект с количеством полей по запросу?

Допустим, у меня есть User класс который выглядит как

public class User 
{ 
    public IEnumerable<ConnectionService> ConnectionServices {get;set} 
} 

public class ConnectionService 
{ 
    public int Id {get;set;} 
    public string ConnectionName {get;set;} 
    public string Username {get;set;} 
    public string Password {get;set;} 
} 

Здесь пользователь может иметь несколько ConnectionService. В настоящее время служба соединений имеет имя пользователя и пароль, поэтому просто два поля (исключая Id и имя соединения). Что делать, если для некоторых сервисов обслуживания требуется 20 полей? Я могу добавить эти поля в класс ConnectionService, но каждый раз, когда будет создан экземпляр serviceservice, появятся поля, которые не нужны для этой конкретной службы. Как я могу это решить?

+0

какие проблемы вы пытаетесь решить? – RoughPlace

+0

Должен ли он иметь словарь 'вместо выделенных свойств (что вы показали, а не поля)? Кроме того, я выбрал 'object' для размещения всех возможных типов, а не для того, чтобы заставить их всех быть' int' (необычный выбор для имен пользователей и паролей) –

+0

sorry int был ошибкой типа – Cybercop

ответ

1

Вы должны подклассифицировать ConnectionService (или просто объявить interface) и создать определенные службы с их конкретными атрибутами; то вы можете использовать любой из них везде, где требуется ConnectionService, например, у пользователя. Это называется inheritance

+0

Спасибо, посмотрим – Cybercop

Смежные вопросы