Skip to content

Instantly share code, notes, and snippets.

@FelicePollano
FelicePollano / TabModel.cs
Created November 3, 2011 15:51
Avalon TabModel
//ispired from http://frankmao.com/2010/11/19/when-caliburn-micro-meets-avalondock/
public class TabModel:Screen
{
protected override void OnActivate()
{
base.OnActivate();
}
protected override void OnDeactivate(bool close)
{
base.OnDeactivate(close);
<html xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 12">
public class ContactFetcher
{
public event EventHandler<ContactFetchEventArgs> ContactFetch = delegate { };
public void BeginFetchAll(string user, string password)
{
ContactsService svc = new ContactsService("MyApp");
svc.setUserCredentials(user, password);
List<ContactEntry> contacts = new List<ContactEntry>();
public interface IContract<T>
{
IContract<T> Is<TT>();
IContract<T> IsEqual<TT>(TT of) where TT : T,IEquatable<TT>;
IContract<T> IsGreatherThan<TT>(TT of) where TT : T,IComparable;
IContract<T> IsGreatherThanOrEqual<TT>(TT of) where TT :T, IComparable;
IContract<T> IsLessThan<TT>(TT of) where TT : T,IComparable;
IContract<T> IsLessThanOrEq<TT>(TT of) where TT : T,IComparable;
IContract<T> IsNot<TT>();
IContract<T> IsNotEqual<TT>(TT of) where TT : T,IEquatable<TT>;
static class PredicateRewriter
{
public static Expression<Predicate<T>> Rewrite<T>(Expression<Predicate<T>> exp
, string newParamName)
{
var param = Expression.Parameter(exp.Parameters[0].Type, newParamName);
var newExpression = new PredicateRewriterVisitor(param).Visit(exp);
return (Expression<Predicate<T>>)newExpression;
}
@FelicePollano
FelicePollano / haversine.cs
Created January 10, 2012 16:02
Haversine
public static class Haversine
{
private static double ToRadiant(this double ang)
{
return ang * Math.PI / 180.0;
}
private static double ToDeg(this double ang)
{
return ang / Math.PI * 180.0;
}
@FelicePollano
FelicePollano / RouteResolver.cs
Created January 13, 2012 10:40
RouteResolver
public class RouteResolver
{
string language = "en-GB";
public RouteResolver()
{
}
public RouteResolver(string language)
{
@FelicePollano
FelicePollano / addressresolver.cs
Created January 13, 2012 10:41
AdderssResolver
public class AddressResolver
{
string language = "en-GB";
public AddressResolver()
{
}
public AddressResolver(string language)
{
this.language = language;
@FelicePollano
FelicePollano / SwapperTest.cs
Created January 18, 2012 11:22
Genric SWAP
public class SwapperTest
{
public class Test_
{
public int X { get; set; }
public int Y { get; set; }
}
[TestMethod]
@FelicePollano
FelicePollano / propertychangedbase.cs
Created January 18, 2012 16:14
notify property changed with expression
class PropertyChangeBase : INotifyPropertyChanged
{
protected void SignalChanged<T>(Expression<Func<T>> exp)
{
if (exp.Body.NodeType == ExpressionType.MemberAccess)
{
var name = (exp.Body as MemberExpression).Member.Name;
PropertyChanged(this, new PropertyChangedEventArgs(name));
}
else