Есть правда одна неточность здесь: Особенность платформы .NET заключается в том, что в ней не существует (а точнее, как мы вскоре увидим – не существовало) способа перехвата исключения в одном месте и последующего его генерирования в другом.
На самом деле он в некотором роде существует. Взять тот же ThreadAbortException, который на первый взгляд не перехватывается catch. На самом деле он перехватывается, и снова генерируется в конце блока catch. И может быть погашен только с помощью Thread.ResetAbort().
Что интересно, так это то, что делается это не на уровне CIL, а как-то иначе.
Автору огромный плюс.
Все вышеописанные вещи — очевидны для человека, который хоть раз с ними сталкивался, но для новичков — неоценимы. Серьезный вклад в качественный development process
Если вы имеете в виду POCO, то да, они появились только в четвертом EF, хотя в NHibernate были уже давно. Если вас не они интересуют, то думаю эта ссылка будет полезной: msdn.microsoft.com/en-us/library/bb347884.aspx
п.с. можете еще POCO генератор на Т4 залить, он доступен в лайв темплейтах 10 студии
В первую очередь хочу поблагодарить за заметку — это очень похоже и на мои мысли. Мне также кажется, что Java — это очень стабильная платформа и говорить о ее закате по меньшей мере глупо. Я тоже считаю, что она чрезвычайно консервативна и разработку альтернативных языков также считаю единственным выходом из создавшейся ситуации.
Наиболее серьезной угрозой для Java платформы как основной платформы для энтерпрайза, я считаю запрет ораклом разработки альтернативных Java-машин (поправьте, если я ошибаюсь — я из .NET стека).
главный косяк переноса из java в .net чудесным образом затронул unity application block — там, стыдно признаться, тоже можно и нужно конфигурить контейнер через xml…
Было бы очень здорово, если бы страничка на вики пополнилась how to — как запустить, как продебажить.
Есть правда одна неточность здесь:
Особенность платформы .NET заключается в том, что в ней не существует (а точнее, как мы вскоре увидим – не существовало) способа перехвата исключения в одном месте и последующего его генерирования в другом.
На самом деле он в некотором роде существует. Взять тот же ThreadAbortException, который на первый взгляд не перехватывается catch. На самом деле он перехватывается, и снова генерируется в конце блока catch. И может быть погашен только с помощью Thread.ResetAbort().
Что интересно, так это то, что делается это не на уровне CIL, а как-то иначе.
Пролистайте следующие ссылки:
habrahabr.ru/blogs/net/62830/
habrahabr.ru/blogs/net/50845/
habrahabr.ru/blogs/net/63568/
habrahabr.ru/blogs/net/91650/
habrahabr.ru/blogs/complete_code/116232/
habrahabr.ru/blogs/net/53922/
Все вышеописанные вещи — очевидны для человека, который хоть раз с ними сталкивался, но для новичков — неоценимы. Серьезный вклад в качественный development process
п.с. можете еще POCO генератор на Т4 залить, он доступен в лайв темплейтах 10 студии
Наиболее серьезной угрозой для Java платформы как основной платформы для энтерпрайза, я считаю запрет ораклом разработки альтернативных Java-машин (поправьте, если я ошибаюсь — я из .NET стека).
что мне помешает написать OnPropertyChanged(() => PropertyFromAnotherObject);
Вы перенесли потенциальную ошибку из рантайма в компилтайм, но безопасности не обеспечили…
***
string[] nameSplit = e.Name.Split(',');
string path = Path.Combine(SearchFolder, nameSplit[0] + ".dll");
***
Может AssemblyName заюзать?
***
catch (Exception exc)
{
Exception exp = exc;
throw;
}
***
А зачем создавать exp, а потом пробрасывать его дальше?
***
if (loadedAssembly != null)
{
return loadedAssembly;
}
else
{
return null;
}
***
Может лучше «return loadedAssembly;»?
Кстати, Debugging tools for Windows и WinDBG — это не только .NET Framework 4 и windows 7.
Интересно почитать о нем здесь: habrahabr.ru/blogs/net/52441/
и тут:http://www.rsdn.ru/res/book/win32/debugnet.xml
(p.s.) не смог добиться от хабра отображения ссылок :(
Кстати, Debugging tools for Windows и WinDBG — это не только .NET Framework 4 и windows 7.
Интересно почитать о нем здесь и здесь