который устанавливает настройку (просто приводит по типу и устанавливает TypedValue член, но после выполнения SetSetting значение в элементе Settings не меняется. Видимо я не знаю какой-то особенности языка?
public abstract class BaseScanDriver : IScanDriver
{
public abstract DriverType Type { get; }
public abstract List<DriverSettingBase> Settings { get; }
public abstract Task<IEnumerable<ScanDevice>> GetDevicesAsync(CancellationToken cancellationToken);
public void SetSetting<T>(string name, T value)
{
var param = Settings.FirstOrDefault(p => p.Name == name) ??
throw new DriverParameterException("Параметер драйвера не найден", name);
if (param is not DriverSettingTyped<T>)
throw new DriverParameterException("Неверный тип параметра", name);
(param as DriverSettingTyped<T>)!.TypedValue = value;
}
}
А если подебажить?
Единственное что приходит в голову - а DriverSettingBase не структура случаем? Или все же класс?
Класс, конечно же
Обсуждают сегодня