1
LUIS entities bound to the state 인 FormDialog가 있습니다. AbstractFormDialog의 서브 클래스에서 Microsoft Bot Framework FormFlow - [Optional] 특성을 재정의 하시겠습니까?
public abstract class AbstractFormDialog
{
[Optional]
public string Entity1;
[Optional]
public string Entity2;
[Optional]
public string Entity3;
[Optional]
public string Entity4;
[Optional]
public string Entity5;
}
, 나는 그래서 "더 선호"옵션을 선택하지 않습니다, 이들 기관 중 일부는 필요하다고 말할 수 있어야합니다. 이 가능한 경우
public abstract class FormDialog1 : AbstractFormDialog
{
[Required]
public string Entity1;
[Required]
public string Entity2;
}
같은 뭔가 아는 사람 있나요? 물론 기본 클래스에서 필요한 모든 속성을 만들 수 있으며 확장 한 모든 클래스에서 실제로 어떤 선택 항목이 선택 사항인지 나열 할 수 있습니다. 새로운 엔티티가 추가 될 경우 모든 서브 클래스를 업데이트해야하기 때문에이 디자인은 좋지 않습니다.
리플렉션에서 속성을 읽는 방법에 따라 다릅니다. 실제 'AbstractFormDialog' 유형을 사용하여 데이터를 읽는다면, 당신이 할 수있는 일은 거의 없을 것입니다. 인스턴스를 기반으로 특성을 가져 오면 대신 필드 속성을 만들어 무시할 수 있습니다. 그 외에도 속성을 검사하는 모든 항목이 'TypeDescriptor'를 검사하는지 여부를 확인할 수 있습니다. http://stackoverflow.com/questions/12143650/how-to-add-property-level-attribute-to-the-typedescriptor-at- 실행 시간 – TyCobb