Если исходный код обычно компилировался, очень легко декомпилировать блоки.NET.
Вы могли использовать Отражатель.NET , первоначально разработанный Lutz Roeder, теперь поддерживаемым Redgate Software. Существует снимок экрана в нижней части этого ответа, который производит Вам впечатление, что делает Отражатель.
можно просмотреть пространства имен и классы и видеть исходный код и методы на любимом языке.NET. Denis Bauer FileDisassembler позволит Вам (или злые хакеры в Вашем случае) преобразовывать его в решение VS и делать модификации к программе.
существуют некоторые контрмеры как использование obfuscator кода для создания кода практически нечитабельным.
существуют некоторые другие интересные вопросы на StackOverflow об этой теме:
Снимок экрана от Отражателя:
Лично мне нравится библиотека Josh Smith MVVM Foundation . Он использует там класс под названием RelayCommand
, но он очень похож на ваш DelegateCommand
из набора инструментов. Он позволяет вам создать команду и передать логику CanExecute и Execute через лямбда-выражения. Это поможет уменьшить количество шаблонного кода.
В своем блоге Джош также говорит об использовании общего обозревателя свойств, чтобы избежать некоторых более сложных аспектов обработки событий PropertyChanged
. На это тоже стоит обратить внимание.
Честно говоря, большая часть так называемого «шаблонного» кода устанавливает очень динамичную и гибкую основу для вашего приложения. Если вы делаете небольшой,