Область действия локальной переменной - это функция, в которой она определена. У компилятора нет проблем с проверкой того, что локальная переменная была инициализирована внутри функции, прежде чем она будет доступна в первый раз.
Что касается открытого класса, область видимости бесконечна, поэтому компилятор не может гарантировать, что поле будет инициализировано до того, как оно будет доступно. Чтобы не дать программе перейти в плохое состояние с помощью неинициализированной переменной, компилятор вызывает ошибку.
OOB-приложения Silverlight имеют те же возможности, что и встроенные в браузер приложения Silverlight, за исключением того, что они теряют способность взаимодействовать с DOM (через System.Windows.Browser API).
Вот краткий список некоторых общих вещей, к которым у вас нет доступа в Silverlight, которые вы, возможно, планируете использовать в приложении WPF:
Это может показаться длинным списком, но он должен выглядеть довольно знакомым списку запрещенных для любой платформы веб-приложений (а-ля ASP.NET, JSP, PHP)
Хайме Родригес написал очень хорошую статью, в которой описываются ключевые различия и особенности как Silverlight, так и WPF: Здесь . Это очень высокий уровень, и он предназначен для того, чтобы различать функции, которые WPF и Silverlight Out-of-Browser предоставляют в таблице.
markti is correct.
Scott Barnes - Rich Platforms Product Manager - Microsoft.