IL weaving for everyone
Paweł Łukasik
KGD.NET 19.03.2014
Reflection: 1492
Mono.Cecil: 1493
Fody (ptak) -> wikłacze -> weaver -> IL weaver -> Fody (tool)
Manipulating:
source: http://www.infoq.com/articles/Simon-Cropp
source: http://www.infoq.com/articles/Simon-Cropp
logging
assertions
error handling to async and TPL code
case-insensitive string comaprison
proprietary
ICommand properties from MVVM
references as resources
AutoFac, Ninject & Spring
Adds empty ctor
checks from empty strings
allows testing w/o writing interfaces
generates GetHashCode & Equals
converts fields to public properties
simillar to typeof for methods, properties and fields
replaces static methods calls
simplifies IDisposable
proprietary
Caches return value of methods
Add code to be executed before and after invocation
method timing code
Module initializer of an assembly
F# adding for union type setters
checks for null arguments
Helps keeps ObsoleteAttribute consistent
INotifyPropertyChanged
INotifyPropertyChanging
Non-public to public
self-explanatory
simple reading of resources
removes tests
Adds git info to assembly
Same but with SVN
proprietary
ToString from public properties
enclose all IDisposable variables with using
IDataErrorInfo & INotifyDataErrorInfo
DebuggerVisualizer
change all members to virtual
Feedback:
twitter: @pawel_lukasik
mail: pawel@octal.pl
blog: http://blog.octal.pl