add AssemblyAppVersionAttribute

This commit is contained in:
Pilzinsel64
2024-08-30 12:01:52 +02:00
parent 11889dac61
commit fd77deb494
2 changed files with 28 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
using System.Reflection;
namespace Pilz;
[AttributeUsage(AttributeTargets.Assembly)]
public class AssemblyAppVersionAttribute(string version, int build, AppChannel channel) : Attribute
{
public AppVersion Version { get; } = new(new Version(version), build, channel);
public AssemblyAppVersionAttribute(string version) : this(version, 1)
{
}
public AssemblyAppVersionAttribute(string version, int build) : this(version, build, AppChannel.Stable)
{
}
}

View File

@@ -0,0 +1,11 @@
using System.Reflection;
namespace Pilz.Extensions;
public static class AssemblyExtensions
{
public static AppVersion GetAppVersion(this Assembly @this)
{
return @this.GetCustomAttribute<AssemblyAppVersionAttribute>()?.Version ?? new();
}
}