Oskar Gewalli's blog articles

0
comment
on 10/27/2013 7:41 AM
Since I liked the ruby version for parsing phone numbers, I ported it to c#. In order to avoid having to rewrite to much I did the following:<ol> To begin with, the entire project was using ruby name convention. This simplifies things. Whenever there is a missing method where the behavior of the method is not the same as the c# one, I added an extension method. For instance I implemented a variant of gsub. The behavior of this gsub uses $1 for matching groups (since it's more natural to remove a bit of cod[...]
>> Read the full article
.
0
comment
on 10/27/2013 7:41 AM
Since I liked the ruby version for parsing phone numbers, I ported it to C#. In order to avoid having to rewrite to much I did the following: To begin with, the entire project was using ruby name convention. This simplifies things. Whenever there is a missing method where the behavior of the method is not the same as the C# one, I added an extension method. For instance I implemented a variant of gsub. The behavior of this gsub uses $1 for matching groups (since it’s more natural to remove a bit of c[...]
>> Read the full article
.
0
comment
on 10/20/2013 2:47 AM
I’ve done some small tests while writing the library to handle readonly objects in c#. Turns out that getting the value of a sub expression can be costly (since you have to compile the expression and execute). When just setting one property there can be a performance benefit of using the following syntax:<blockquote class="tr_bq"> new MyClass(1, "2").With(m => m.MyProperty, 3) </blockquote> There might be some way of optimizing the code in order to get better performance for the form:<blockquote class="tr_[...]
>> Read the full article
.
0
comment
on 10/20/2013 2:47 AM
I’ve done some small tests while writing the library to handle readonly objects in C#. Turns out that getting the value of a sub expression can be costly (since you have to compile the expression and execute). When just setting one property there can be a performance benefit of using the following syntax: new MyClass(1, “2”).With(m => m.MyProperty, 3) There might be some way of optimizing the code in order to get better performance for the form: new MyClass(1, “2”).With(m => m.MyProperty == 3) [...]
>> Read the full article
.
0
comment
on 10/18/2013 10:39 AM
One thing I like about F# is the ability to use readonly objects in a way that does not require a lot of code. I’ve done a small lib inspired by this ability of F#: with The syntax is a bit special since I assume that the properties have a private set. versions prior to 5 myobject.With(m => m.Property1 == 3 && m.Property2 == "3") With 5+ using With; ... public class SomeClass { private static readonly IPreparedCopy<MyClass, int, string> PreparedCopy = Prepare.Copy<MyClass, int, string>((m[...]
>> Read the full article
.
IntelliFactory Offices Copyright (c) 2011-2012 IntelliFactory. All rights reserved.
Home | Products | Consulting | Trainings | Blogs | Jobs | Contact Us | Terms of Use | Privacy Policy | Cookie Policy
Built with WebSharper