3 Commits

3 changed files with 16 additions and 29 deletions

View File

@ -1,25 +0,0 @@
Param(
# Nuget APIKey
[string] $apikey
)
if ($apikey -eq $null -or $apikey -eq "")
{
Write-Error "require apiKey";
return;
}
rm -r ./build/nupkgs
dotnet build -c Release
$files = Get-ChildItem -Path ./build/nupkgs/ -Filter *.nupkg
foreach ($file in $files)
{
dotnet nuget push $file.fullName --skip-duplicate --api-key $apikey --source https://api.nuget.org/v3/index.json
nuget add $file.fullName -source d:\nuget-pkg
}
$files = Get-ChildItem -Path ./build/nupkgs/ -Filter *.snupkg
foreach ($file in $files)
{
dotnet nuget push $file.fullName --skip-duplicate --api-key $apikey --source https://api.nuget.org/v3/index.json
nuget add $file.fullName -source d:\nuget-pkg
}

View File

@ -17,13 +17,13 @@ public static class EnumExtensions
{ {
var t = e.GetType(); var t = e.GetType();
var fi = t.GetField(Enum.GetName(t, e)!); var fi = t.GetField(Enum.GetName(t, e)!);
var descAttr = fi!.GetCustomAttribute<DescriptionAttribute>(false); var descAttr = fi!.GetCustomAttribute<DescriptionAttribute>(true);
if (descAttr is null) { if (descAttr is null) {
return Enum.GetName(t, e); return Enum.GetName(t, e);
} }
var str = descAttr.Description; var str = descAttr.Description;
var locAttr = fi!.GetCustomAttribute<LocalizationAttribute>(false); var locAttr = fi!.GetCustomAttribute<LocalizationAttribute>(true);
return locAttr is null ? str : locAttr.ResourceClass.GetProperty(str)?.GetValue(default) as string ?? str; return locAttr is null ? str : locAttr.ResourceClass.GetProperty(str)?.GetValue(default) as string ?? str;
} }
} }

View File

@ -15,7 +15,19 @@ public static class ObjectExtensions
/// <returns>json文本</returns> /// <returns>json文本</returns>
public static string Json(this object me, bool format = false) public static string Json(this object me, bool format = false)
{ {
return JsonSerializer.Serialize( var defaultOptions = default(JsonSerializerOptions).NewJsonSerializerOptions();
me, new JsonSerializerOptions { WriteIndented = format, PropertyNamingPolicy = JsonNamingPolicy.CamelCase }); defaultOptions.WriteIndented = format;
return Json(me, defaultOptions);
}
/// <summary>
/// 将一个对象序列化成json文本
/// </summary>
/// <param name="me">指定对象</param>
/// <param name="options">序列化选项</param>
/// <returns>json文本</returns>
public static string Json(this object me, JsonSerializerOptions options)
{
return JsonSerializer.Serialize(me, options);
} }
} }