Only generate setters and getters for public properties (#47)

* Only generate setters and getters for public properties

* .
This commit is contained in:
Stef Heyenrath
2022-12-13 19:18:30 +01:00
committed by GitHub
parent 72a40e6f6a
commit d340c6af7c
10 changed files with 158 additions and 12 deletions
@@ -155,17 +155,25 @@ using System;
overrideOrVirtual = "virtual ";
}
var getIsPublic = property.GetMethod.IsPublic();
var setIsPublic = property.SetMethod.IsPublic();
if (!getIsPublic && !setIsPublic)
{
continue;
}
string get;
string set;
if (isReplaced)
{
get = property.GetMethod != null ? $"get => Mapster.TypeAdapter.Adapt<{type}>({instancePropertyName}); " : string.Empty;
set = property.SetMethod != null ? $"set => {instancePropertyName} = Mapster.TypeAdapter.Adapt<{property.Type}>(value); " : string.Empty;
get = getIsPublic ? $"get => Mapster.TypeAdapter.Adapt<{type}>({instancePropertyName}); " : string.Empty;
set = setIsPublic ? $"set => {instancePropertyName} = Mapster.TypeAdapter.Adapt<{property.Type}>(value); " : string.Empty;
}
else
{
get = property.GetMethod != null ? $"get => {instancePropertyName}; " : string.Empty;
set = property.SetMethod != null ? $"set => {instancePropertyName} = value; " : string.Empty;
get = getIsPublic ? $"get => {instancePropertyName}; " : string.Empty;
set = setIsPublic ? $"set => {instancePropertyName} = value; " : string.Empty;
}
str.AppendLine($" public {overrideOrVirtual}{type} {propertyName} {{ {get}{set}}}");