У меня есть диалоговое окно FormDialog, в котором есть сущности LUIS, привязанные к состоянию.
public abstract class AbstractFormDialog
{
[Optional]
public string Entity1;
[Optional]
public string Entity2;
[Optional]
public string Entity3;
[Optional]
public string Entity4;
[Optional]
public string Entity5;
}
В подклассе AbstractFormDialog я хочу иметь возможность сказать, что некоторые из этих сущностей необходимы, чтобы «отсутствие предпочтения» не было вариантом. Что-то типа
public abstract class FormDialog1 : AbstractFormDialog
{
[Required]
public string Entity1;
[Required]
public string Entity2;
}
Кто-нибудь знает возможно ли это? Конечно, я мог бы сделать все атрибуты обязательными в базовом классе, а затем в каждом классе, который его расширяет, перечислить, какие сущности на самом деле являются необязательными. Однако этот дизайн плох, потому что, если будет добавлена новая сущность, каждый подкласс необходимо будет обновить.
AbstractFormDialog
для чтения данных, то, вероятно, вы ничего не сможете сделать. Если он получает атрибуты на основе экземпляра, вы можете вместо этого создать свойства своих полей и переопределить их. Помимо этого, вы могли бы видеть, проверяет ли то, что проверяет атрибуты, также проверяет дескрипторTypeDescriptor
stackoverflow.com/questions/12143650/ - person TyCobb   schedule 20.06.2016