add static GenerateNew methods for UniquieID

This commit is contained in:
Pilzinsel64
2024-08-09 07:50:53 +02:00
parent 195e2682f9
commit c49d63be98
2 changed files with 14 additions and 8 deletions

View File

@@ -41,11 +41,7 @@ public static class Helpers
var dateTime = DateTime.UtcNow.ToString("yyyyMMddHHmmssfffffff");
var type = typeof(T).ToString();
var together = sn + dateTime + type + var;
var md5 = MD5.Create();
var hash = BitConverter.ToString(md5.ComputeHash(Encoding.Default.GetBytes(together))).Replace("-", string.Empty);
md5.Dispose();
var hash = BitConverter.ToString(MD5.HashData(Encoding.Default.GetBytes(together))).Replace("-", string.Empty);
return hash;
}
}

View File

@@ -52,7 +52,7 @@ public class UniquieID : IUniquieID
GenerateOnGet = true;
}
[Obsolete]
[Obsolete("Use the enum 'UniquieIDGenerationMode' instead of a simple boolean.")]
public UniquieID(bool autoGenerate) : this(autoGenerate ? UniquieIDGenerationMode.GenerateOnInit : UniquieIDGenerationMode.None)
{
}
@@ -121,9 +121,19 @@ public class UniquieID : IUniquieID
return base.Equals(obj);
}
public static UniquieID GenerateNew()
{
return new UniquieID(UniquieIDGenerationMode.GenerateOnInit);
}
public static UniquieID GenerateNew(bool simpleMode)
{
return new UniquieID(UniquieIDGenerationMode.GenerateOnInit, simpleMode);
}
public static implicit operator string(UniquieID id) => id.ID;
public static implicit operator UniquieID(string id) => new UniquieID() { ID = id };
public static implicit operator UniquieID(int id) => new UniquieID() { ID = Convert.ToString(id) };
public static implicit operator UniquieID(string id) => new() { ID = id };
public static implicit operator UniquieID(int id) => new() { ID = Convert.ToString(id) };
public static bool operator ==(UniquieID left, UniquieID right) => left.ID.Equals(right.ID);
public static bool operator !=(UniquieID left, UniquieID right) => !left.ID.Equals(right.ID);