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

@@ -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);