Запретить изменение значения String.Empty

Частично с любопытной точки зрения и частично с точки зрения защиты от потенциальных проблем. Представьте, что самое худшее, что может случиться, вызвав следующее (или что-то подобное, ноstring.Empty хороший пример)

typeof(String).GetField("Empty", 
    BindingFlags.Public | 
    BindingFlags.NonPublic | 
    BindingFlags.Static | 
    BindingFlags.GetField
).SetValue(null, "foo" );

Это может вызвать проблемы, когда где-то есть кодx = myClass.bar ?? string.Empty.

Есть ли способ (похожий на разные домены приложений или аналогичный) защитить (или обнаружить) кого-то, кто изменяет такие значения, какString.Empty или возможноSqlDateTime.MinValue (или другие подобные поля только для чтения в .NET)?

Ответы на вопрос(1)

Ваш ответ на вопрос