struct
This commit is contained in:
parent
302a15b30f
commit
fd294925fc
|
@ -18,6 +18,8 @@
|
||||||
<RepositoryUrl>https://github.com/mrtaikandi/mapto</RepositoryUrl>
|
<RepositoryUrl>https://github.com/mrtaikandi/mapto</RepositoryUrl>
|
||||||
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
|
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
|
||||||
<RootNamespace>MapTo</RootNamespace>
|
<RootNamespace>MapTo</RootNamespace>
|
||||||
|
<AssemblyVersion>1.1</AssemblyVersion>
|
||||||
|
<FileVersion>1.1</FileVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
||||||
|
@ -44,8 +46,4 @@
|
||||||
<None Include="MapTo.props" Pack="true" PackagePath="build" Visible="false" />
|
<None Include="MapTo.props" Pack="true" PackagePath="build" Visible="false" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<Folder Include="bin\Release\netstandard2.0" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -26,7 +26,7 @@ namespace MapTo.Sources
|
||||||
}
|
}
|
||||||
|
|
||||||
builder
|
builder
|
||||||
.WriteLine("[AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)]")
|
.WriteLine("[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct)]")
|
||||||
.WriteLine($"public sealed class {AttributeName}Attribute : Attribute")
|
.WriteLine($"public sealed class {AttributeName}Attribute : Attribute")
|
||||||
.WriteOpeningBracket();
|
.WriteOpeningBracket();
|
||||||
|
|
||||||
|
|
|
@ -147,26 +147,7 @@ namespace MapTo.Sources
|
||||||
.WriteLine($"/// <param name=\"{sourceClassParameterName}\">The instance of <see cref=\"{model.SourceType}\"/> to use as source.</param>");
|
.WriteLine($"/// <param name=\"{sourceClassParameterName}\">The instance of <see cref=\"{model.SourceType}\"/> to use as source.</param>");
|
||||||
}
|
}
|
||||||
|
|
||||||
private static SourceBuilder GenerateSourceTypeExtensionClass(this SourceBuilder builder, MappingModel model)
|
|
||||||
{
|
|
||||||
return builder
|
|
||||||
.WriteLine($"{model.Options.GeneratedMethodsAccessModifier.ToLowercaseString()} static partial class {model.SourceTypeIdentifierName}To{model.TypeIdentifierName}Extensions")
|
|
||||||
.WriteOpeningBracket()
|
|
||||||
.GenerateSourceTypeExtensionMethod(model)
|
|
||||||
.WriteClosingBracket();
|
|
||||||
}
|
|
||||||
|
|
||||||
private static SourceBuilder GenerateSourceTypeExtensionMethod(this SourceBuilder builder, MappingModel model)
|
|
||||||
{
|
|
||||||
var sourceClassParameterName = model.SourceTypeIdentifierName.ToCamelCase();
|
|
||||||
|
|
||||||
return builder
|
|
||||||
.GenerateConvertorMethodsXmlDocs(model, sourceClassParameterName)
|
|
||||||
.WriteLineIf(model.Options.SupportNullableStaticAnalysis, $"[return: NotNullIfNotNull(\"{sourceClassParameterName}\")]")
|
|
||||||
.WriteLine($"{model.Options.GeneratedMethodsAccessModifier.ToLowercaseString()} static {model.TypeIdentifierName}{model.Options.NullableReferenceSyntax} To{model.TypeIdentifierName}(this {model.SourceType}{model.Options.NullableReferenceSyntax} {sourceClassParameterName})")
|
|
||||||
.WriteOpeningBracket()
|
|
||||||
.WriteLine($"return {sourceClassParameterName} == null ? null : new {model.TypeIdentifierName}({sourceClassParameterName});")
|
|
||||||
.WriteClosingBracket();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue