Я использую свободный API проверки для написания проверок.
Я обнаружил свойство internal set
в классе ValidationContext
.
public class ValidationContext {
public Dictionary<string, object> RootContextData { get; internal set; } = new Dictionary<string, object>();
}
Я обнаружил свойство внутреннего набора в этом вопросе .Таким образом, я могу установить значение словаря следующим образом:
var rowItemContext = new ValidationContext();
rowItemContext.RootContextData.Add("ab", new object());//this works
Приведенный выше код для добавления элемента в RootcontextData
работает.
Но следующая строка для прямого назначения другого словаряв RootContextData приводит к ошибке времени компиляции.
Свойство или индексатор 'ValidationContext.RootContextData' нельзя назначить - оно доступно только для чтения
rowItemContext.RootContextData = new Dictionary<string, object>()
{
{ "ab", new object() }
};
Итак,чтобы добавить словарь элементов к данным контекста, я должен зациклить словарь, чтобы добавить.Я с удивлением вижу, почему первый работает, но не прямое назначение.