diff --git a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Values/ValueObject.cs b/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Values/ValueObject.cs index ff6fef3def..4c9dab3487 100644 --- a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Values/ValueObject.cs +++ b/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Values/ValueObject.cs @@ -44,6 +44,6 @@ public abstract class ValueObject } } - return !thisValues.MoveNext() && !otherValues.MoveNext(); + return !thisMoveNext && !otherMoveNext; } } diff --git a/framework/test/Volo.Abp.Ddd.Tests/Volo/Abp/Domain/Values/EmailAddress.cs b/framework/test/Volo.Abp.Ddd.Tests/Volo/Abp/Domain/Values/EmailAddress.cs new file mode 100644 index 0000000000..68a12326c4 --- /dev/null +++ b/framework/test/Volo.Abp.Ddd.Tests/Volo/Abp/Domain/Values/EmailAddress.cs @@ -0,0 +1,25 @@ +using System.Collections.Generic; + +namespace Volo.Abp.Domain.Values; + +public class EmailAddress : ValueObject +{ + public string Email { get; } + + private EmailAddress() + { + } + + public EmailAddress(string email) + { + Email = email; + } + + protected override IEnumerable GetAtomicValues() + { + if (Email != null) + { + yield return Email; + } + } +} diff --git a/framework/test/Volo.Abp.Ddd.Tests/Volo/Abp/Domain/Values/ValueObject_Tests.cs b/framework/test/Volo.Abp.Ddd.Tests/Volo/Abp/Domain/Values/ValueObject_Tests.cs index 144d4350d3..11b2581437 100644 --- a/framework/test/Volo.Abp.Ddd.Tests/Volo/Abp/Domain/Values/ValueObject_Tests.cs +++ b/framework/test/Volo.Abp.Ddd.Tests/Volo/Abp/Domain/Values/ValueObject_Tests.cs @@ -31,5 +31,10 @@ public class ValueObject_Tests address2 = new Address(cityId, "Baris Manco", 42, "home"); address1.ValueEquals(address2).ShouldBeFalse(); + + var emailAddress1 = new EmailAddress("test@abp.io"); + var emailAddress2 = new EmailAddress(null); + + emailAddress1.ValueEquals(emailAddress2).ShouldBeFalse(); } }