Я использую механизм нескольких записей, и запись определяется как:
Код: Выделить всё
public class MyEngine : IRecordEngineFactory
{
public MultiRecordEngine CreateMultiRecordEngine()
{
return new MultiRecordEngine(
typeof(Header),
typeof(RecordTypeA),
typeof(RecordTypeB),
typeof(Footer));
}
}
[FixedLengthRecord]
public record RecordTypeA
{
[FieldFixedLength(10)]
public int UserName { get; set; }
[FieldFixedLength(20)]
[MyCustomValidator]
public int UserAddress { get; set; }
}
Код: Выделить всё
var myGenerator = new UserFileGenerator(new MyEngine());
using var stream = myGenerator.Write(userObject);
MyCustomValidator
Тогда я смогу применить это к полям RecordTypeA?
В логике атрибутов я хочу проверьте поле (в этом регистр адреса пользователя), чтобы не было определенных специальных символов. Если обнаружены специальные символы, мне нужно создать исключение, чтобы остановить дальнейшую обработку, когда движок записывает поток.
myEngine.WriteStream(stream, file);
Подробнее здесь: https://stackoverflow.com/questions/792 ... validation
Мобильная версия