Предупреждение компилятора (уровень 1) CS1690
Обновлен: Ноябрь 2007
Сообщение об ошибке
Доступ к члену в "член" может вызвать исключение времени исполнения, поскольку он является полем класса, маршалируемого по ссылке
Accessing a member on 'member' may cause a runtime exception because it is a field of a marshal-by-reference class
Данное предупреждение возникает, когда предпринимается попытка вызвать метод, свойство или индексатор для члена класса, который наследует от класса MarshalByRefObject, и данный член является типом значения. Чтобы устранить это предупреждение, скопируйте член в локальную переменную и вызовите метод для этой переменной.
Следующий пример приводит к созданию предупреждения CS1690:
// CS1690.cs
using System;
class WarningCS1690: MarshalByRefObject
{
int i = 5;
public static void Main()
{
WarningCS1690 e = new WarningCS1690();
e.i.ToString(); // CS1690
// OK
int i = e.i;
i.ToString();
e.i = i;
}
}