public void AutoConfig(AttributeAndTypeInfo attributeAndTypeInfo) { if (!(attributeAndTypeInfo.Attribute is ConfigAttribute)) { return; } this.configTypeToRegistionMap[attributeAndTypeInfo.Type] = new ScannedConfigRegistion(attributeAndTypeInfo); }
public void Gen() { DefaultJsonSchemaGenerator g = new DefaultJsonSchemaGenerator(); var info = new AttributeAndTypeInfo(new ConfigAttribute("S1"), typeof(TestConfig)); List <IConfigRegistion> registions = new List <IConfigRegistion>(); registions.Add(new ScannedConfigRegistion(info)); string json = g.Generate(registions); Console.WriteLine(json); }
public void AddTask(AttributeAndTypeInfo info) { if (!(info.Attribute is TaskAttribute taskatt)) { return; } if (!typeof(ITaskExecutor).IsAssignableFrom(info.Type)) { return; } this.taskInfos.Add(new TaskInfo() { TaskAttribute = taskatt, TaskType = info.Type }); }
public ScannedConfigRegistion(AttributeAndTypeInfo info) { this.configAttribute = (ConfigAttribute)info.Attribute; this.objectType = info.Type; }
/// <summary> /// 添加一个自动添加的过滤器 /// </summary> /// <param name="info"></param> public void AddFilter(AttributeAndTypeInfo info) { this.autoFilterInfos.Add(new AutoFilterInfo(info.Type.Assembly, info.Attribute as AutoFilterAttribute, info.Type)); }
/// <summary> /// 注册一个动态实现类的信息。 /// </summary> /// <param name="info"></param> public void RegisterImplementor(AttributeAndTypeInfo info) { this.attributeAndTypeInfos.Add(info); }