/// <summary>Initializes a new instance of the <see cref="CodeArtifact"/> class.</summary> /// <param name="typeName">The type name.</param> /// <param name="baseTypeName">The base type name (e.g. base class).</param> /// <param name="type">The artifact type.</param> /// <param name="language">The artifact language.</param> /// <param name="category">The category.</param> /// <param name="code">The code.</param> public CodeArtifact(string typeName, string baseTypeName, CodeArtifactType type, CodeArtifactLanguage language, CodeArtifactCategory category, string code) { if (typeName == baseTypeName) { throw new ArgumentException("The baseTypeName cannot equal typeName.", nameof(typeName)); } TypeName = typeName; BaseTypeName = baseTypeName; Type = type; Language = language; Category = category; Code = code; }
/// <summary>Initializes a new instance of the <see cref="CodeArtifact"/> class.</summary> /// <param name="typeName">The type name.</param> /// <param name="baseTypeName">The base type name (e.g. base class).</param> /// <param name="type">The artifact type.</param> /// <param name="language">The artifact language.</param> /// <param name="category">The category.</param> /// <param name="template">The template to render the code.</param> public CodeArtifact(string typeName, string baseTypeName, CodeArtifactType type, CodeArtifactLanguage language, CodeArtifactCategory category, ITemplate template) : this(typeName, baseTypeName, type, language, category, template?.Render()) { }
/// <summary>Initializes a new instance of the <see cref="CodeArtifact"/> class.</summary> /// <param name="typeName">The type name.</param> /// <param name="type">The artifact type.</param> /// <param name="language">The artifact language.</param> /// <param name="category">The category.</param> /// <param name="code">The code.</param> public CodeArtifact(string typeName, CodeArtifactType type, CodeArtifactLanguage language, CodeArtifactCategory category, string code) : this(typeName, null, type, language, category, code) { }