Здравствуйте, WolfHound, Вы писали:
WH>Тебя просят рассказать о модели, на которой основаны все эти сущности.
Без проблем.
/// <summary>
/// Интерфейс метаэлемента.
/// </summary>
public interface IMetaElement
{
/// <summary>
/// Имя.
/// </summary>
string Name {get; set;}
/// <summary>
/// Описание.
/// </summary>
string Description {get; set;}
/// <summary>
/// Идентификатор.
/// </summary>
Guid Id {get;}
/// <summary>
/// Элемент хранения, в котором находится указанный элемент.
/// </summary>
IStorageElement StorageElement {get;}
}
/// <summary>
/// Элемент хранения.
/// </summary>
public interface IStorageElement : IMetaElement
{
/// <summary>
/// Версия.
/// </summary>
Version Version {get; set;}
/// <summary>
/// Ресольвер внешних ссылок.
/// </summary>
IMetaResolver Resolver {get;}
}
/// <summary>
/// Домены
/// </summary>
public interface IDomain : IStorageElement
{
/// <summary>
/// Тип данных
/// </summary>
DataType DataType {get; set;}
/// <summary>
/// Формат данных
/// </summary>
string Format {get; set;}
/// <summary>
/// Значение по умолчанию
/// </summary>
string DefaultValue {get; set;}
/// <summary>
/// Значения перечисления
/// </summary>
IDomainEnumValueCollection DomainEnumValues {get;}
}
/// <summary>
/// Классы
/// </summary>
public interface IClass : IStorageElement
{
/// <summary>
/// Базовый класс
/// </summary>
IClass BaseClass {get; set;}
/// <summary>
/// Свойство IsAbstract. (!A)
/// </summary>
bool IsAbstract {get; set;}
/// <summary>
/// Свойство IsPersistent. (!A)
/// </summary>
bool IsPersistent {get; set;}
/// <summary>
/// Время жизни серверного объекта
/// </summary>
LifeTimeType LifeTime {get; set;}
/// <summary>
/// Ссылка на каталог
/// </summary>
IClassRefAttribute CatalogLink {get; set;}
/// <summary>
/// Связь иерархии
/// </summary>
IClassRefAttribute HierarchyLink {get; set;}
/// <summary>
/// Спецификация класса
/// </summary>
IDetailCollection Details {get;}
/// <summary>
/// Методы
/// </summary>
IClassMethodCollection ClassMethods {get;}
/// <summary>
/// Атрибуты
/// </summary>
IClassPhysicalAttributeCollection ClassPhysicalAttributes {get;}
/// <summary>
/// Атрибуты
/// </summary>
IClassRefAttributeCollection ClassRefAttributes {get;}
/// <summary>
/// Вычисляемые атрибуты
/// </summary>
IClassCalcAttributeCollection ClassCalcAttributes {get;}
/// <summary>
/// Ограничения класса
/// </summary>
IClassConstraintCollection ClassConstraints {get;}
/// <summary>
/// Индекс класса
/// </summary>
IClassIndexCollection ClassIndexes {get;}
}
Вложенные типы и коллекции нужны?
WH>Но рассказывать о нем не хочешь.
Тебе показалось.
... << RSDN@Home 1.2.0 alpha 5 rev. 31 on Windows 7 6.1.7601.65536>>