I am currently working on a project where I have a BankAccount entity for some other entity.
Each bank account as a reference to a bank entity, an account number and opt
You can just use a delegate to validate, you don't need to pass a whole interface, who ever wants to set it has to have a validator.
public delegate bool Validation(IBAN iban); void SetIBAN(IBAN iban, Validation isValid){ if(!isValid(iban)) throw new ArgumentException(); ...}