more constructors for UniquieID

This commit is contained in:
2023-08-02 08:09:12 +02:00
parent 67be15157c
commit 9100057ae2
2 changed files with 31 additions and 5 deletions

View File

@@ -16,10 +16,10 @@ namespace Pilz.Cryptography
protected string _iD;
[JsonIgnore]
public virtual bool SimpleMode { get; set; } = false;
public virtual bool SimpleMode { get; }
[JsonIgnore]
public virtual bool GenerateOnGet { get; set; } = false;
public virtual bool GenerateOnGet { get; }
[JsonIgnore]
public virtual bool HasID => !string.IsNullOrEmpty(_iD);
@@ -37,14 +37,27 @@ namespace Pilz.Cryptography
=> _iD = value;
}
public UniquieID() : this(false)
public UniquieID() : this(UniquieIDGenerationMode.None)
{
}
public UniquieID(bool autoGenerate)
public UniquieID(UniquieIDGenerationMode mode) : this(mode, false)
{
if (autoGenerate)
}
public UniquieID(UniquieIDGenerationMode mode, bool simpleMode)
{
SimpleMode = simpleMode;
if (mode == UniquieIDGenerationMode.GenerateOnInit)
GenerateIfNull();
else if (mode == UniquieIDGenerationMode.GenerateOnGet)
GenerateOnGet = true;
}
[Obsolete]
public UniquieID(bool autoGenerate) : this(autoGenerate ? UniquieIDGenerationMode.GenerateOnInit : UniquieIDGenerationMode.None)
{
}
public virtual void Generate()

View File

@@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Pilz.Cryptography
{
public enum UniquieIDGenerationMode
{
None,
GenerateOnGet,
GenerateOnInit
}
}