Примечание: я уже проверил msdn, он не отвечает на мой фактический вопрос, см. ниже.
Я пытаюсь использовать устаревший атрибут в (явно устаревшем) конструкторе в одном из моих классов. Вот сценарий:
Я хочу иметь возможность заставить разработчика обновить до нового конструктора, не затрагивая уже существующий и развернутый код. Таким образом, я могу прекрасно развернуть свой код в рабочей среде, но с точки зрения разработчиков, всякий раз, когда они входят в свой код, вместо того, чтобы просто получать «предупреждение», которое, я уверен, они просто проигнорируют, я хочу, чтобы они получали ошибка компиляции, потому что статус-кво больше не в порядке.
Итак, мой вопрос: затронет ли это только разработчиков или все вызывающие приложения, или я все неправильно понял?
пример кода:
public class MyClass
{
private string _userID; //new code
[Obsolete("This constructor is obsolete, please use other constructor.", true)]
public MyClass()
{
_userID = ""; //defaulting to empty string for all those using this constructor
}
public MyClass(string userID)
{
_userID = userID; //this is why they need to use this constructor
}
}
Будем признательны за любую помощь, заранее спасибо!