I'm running the following code:

```
public class CfgObject
{
    protected object _inst;
    public CfgObject(object inst) { _inst = inst; }
}
public class CfgService : CfgObject
{
    public object GetObject() { return _inst; }
    public CfgService(object inst) : base(inst) {}
}
...
CfgObject obj1 = new CfgObject((object)1);
CfgService service = (CfgService)obj1;
service.GetObject();
...

```

I always receive 

> 
> System.InvalidCastException (Unable to cast object of type 'CfgObject' to type 'CfgService')
> 
> 
> 

What is the correct way of doing?