Почему Roslyn CA1001 не срабатывает для вспомогательного поля автоматически реализуемого свойства?C#

Место общения программистов C#
Anonymous
Почему Roslyn CA1001 не срабатывает для вспомогательного поля автоматически реализуемого свойства?

Сообщение Anonymous »

Это запускает CA1001: Типы, владеющие одноразовыми полями, должны быть одноразовыми:

Код: Выделить всё

public class MyService1 {
public System.IO.MemoryStream DataStream = new();
}
Но это не так:

Код: Выделить всё

public class MyService2
{
public System.IO.MemoryStream DataStream { get; } = new();
}
Однако разве MyService2 не имеет той же проблемы, что и MyService1, поскольку его резервное поле содержит DataStream, который является IDisposable? Почему Рослин не предупреждает? И можно ли в этом случае настроить предупреждение?

Вернуться в «C#»