I want to work around the fact that my WCF servicelayer can not handle a generic method like this:

```
public void SaveOrUpdateDomainObject<T>(T domainObject)
{           
    domainRoot.SaveDomainObject<T>(domainObject);
}

```

so I built this workaround method instead

```
public void SaveOrUpdateDomainObject(object domainObject, string typeName)
{           
    Type T = Type.GetType(typeName);
    var o = (typeof(T))domainObject;
    domainRoot.SaveDomainObject<typeof(T)>(o);
}

```

The problem is this does not compile somehow. 

I think this is the result of me not fully understanding the difference between 

* Type T 
I believe this is an object of type "Type"
* the result of typeof(T)
I believe this results in a non-object type version of the type of T (I don't know how to say this exactly)