public class NetClient { protected class NetThread() { protected class WorkItem() { } } public WorkItem someMethod() { NetThread netThread = new NetThread(); return new netThread.WorkItem(); // cannot resolve to a type // unable to do return new NetThread.WorkItem(); as well } }