本文整理汇总了C#中IModelSystemStructure.Add方法的典型用法代码示例。如果您正苦于以下问题:C# IModelSystemStructure.Add方法的具体用法?C# IModelSystemStructure.Add怎么用?C# IModelSystemStructure.Add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IModelSystemStructure
的用法示例。
在下文中一共展示了IModelSystemStructure.Add方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GenerateChildren
public static void GenerateChildren(IConfiguration config, IModelSystemStructure element)
{
if(element == null) return;
if(element.Type == null) return;
foreach(var field in element.Type.GetFields())
{
IModelSystemStructure child = null;
if((child = GenerateChildren(element, field.FieldType, field.GetCustomAttributes(true), config)) != null)
{
// set the name
child.ParentFieldName = field.Name;
child.Name = CreateModuleName(field.Name);
if(element.IsCollection)
{
child.ParentFieldType = field.FieldType.GetGenericArguments()[0];
}
else
{
child.ParentFieldType = field.FieldType;
}
element.Add(child);
}
}
foreach(var property in element.Type.GetProperties())
{
IModelSystemStructure child = null;
if((child = GenerateChildren(element, property.PropertyType, property.GetCustomAttributes(true), config)) != null)
{
child.ParentFieldName = property.Name;
child.Name = CreateModuleName(property.Name);
child.ParentFieldType = property.PropertyType;
element.Add(child);
}
}
if(element.Children != null & !element.IsCollection)
{
SortChildren(element.Children);
}
}