This library is a .NET library designed to facilitate property modification detection within your classes. It provides a simple and efficient way to implement property change detection within your own classes.
$ dotnet add package EdwardHsu.ModifyDetectorThis library is a .NET library designed to facilitate property modification detection within your classes. It provides a simple and efficient way to implement property change detection within your own classes.
To get started with ModifyDetector, follow these simple steps:
dotnet add package EdwardHsu.ModifyDetectorModifyDetector class.using EdwardHsu.ModifyDetector;
public class YourClass : ModifyDetector
{
// Your class implementation
}ModifyDetectTargetAttribute attribute.using EdwardHsu.ModifyDetector;
public class YourClass : ModifyDetector
{
[ModifyDetectTarget(Order = 0)]
public Guid Id { get; set; }
[ModifyDetectTarget(Order = 1)]
public string Name { get; set; }
}UpdateDetectorState() method to initialize modification detection.public class YourClass : ModifyDetector
{
public YourClass()
{
Id = Guid.NewGuid();
Name = "Untitled";
UpdateDetectorState();
}
[ModifyDetectTarget(Order = 0)]
public Guid Id { get; set; }
[ModifyDetectTarget(Order = 1)]
public string Name { get; set; }
}HasModified(out IEnumerable<ModifiedMember> modifiedMembers) method.var instance = new YourClass();
// Modify properties...
var hasModified = instance.HasModified(out var modifiedProperties);using EdwardHsu.ModifyDetector;
public class YourClass : ModifyDetector
{
public YourClass()
{
Id = Guid.NewGuid();
Name = "Untitled";
UpdateDetectorState();
}
[ModifyDetectTarget(Order = 0)]
public Guid Id { get; set; }
[ModifyDetectTarget(Order = 1)]
public string Name { get; set; }
}
public class Program
{
static void Main(string[] args)
{
var instance = new YourClass();
instance.Name = "New Name";
var hasModified = instance.HasModified(out var modifiedProperties);
// ...Do something...
}
}This library is licensed under the MIT License.
Contributions are welcome! Feel free to submit issues, feature requests, or pull requests.