protected override void Generate( CodeWriter writer, InterfaceTypeDescriptor descriptor, out string fileName) { fileName = descriptor.RuntimeType.Name; InterfaceBuilder interfaceBuilder = InterfaceBuilder .New() .SetName(fileName); foreach (var prop in descriptor.Properties) { interfaceBuilder .AddProperty(prop.Name) .SetType(prop.Type.ToBuilder()) .SetPublic(); } interfaceBuilder.AddImplementsRange(descriptor.Implements.Select(x => x.Value)); CodeFileBuilder .New() .SetNamespace(descriptor.RuntimeType.NamespaceWithoutGlobal) .AddType(interfaceBuilder) .Build(writer); }
protected override void Generate(InterfaceTypeDescriptor descriptor, CSharpSyntaxGeneratorSettings settings, CodeWriter writer, out string fileName, out string?path, out string ns) { fileName = descriptor.RuntimeType.Name; path = null; ns = descriptor.RuntimeType.NamespaceWithoutGlobal; InterfaceBuilder interfaceBuilder = InterfaceBuilder .New() .SetComment(descriptor.Description) .SetName(fileName); foreach (var prop in descriptor.Properties) { interfaceBuilder .AddProperty(prop.Name) .SetComment(prop.Description) .SetType(prop.Type.ToTypeReference()) .SetPublic(); } interfaceBuilder.AddImplementsRange(descriptor.Implements.Select(x => x.Value)); interfaceBuilder.Build(writer); }