I cannot access the parameters (number, start, noise etc) from outside the template.
Assuming that objref foo points to an instance of the class defined by the template, then foo.cell is the name of the NetStim, and the hoc names of that NetStim's parameters are
foo.cell.interval, foo.cell.number, etc..
I don't see how this serves a useful purpose. All you're doing is interposing an extra layer between the NetStim's parameters and the top level of the hoc interpreter. Why is it more convenient to do this
objref foo
foo = new cell_NetStim()
foo.cell.start = whatever
than to just do this
objref foo
foo = new NetStim()
foo.start = whatever
??
What you're getting for your effort is the necessity of having to type an additional 6 characters (.start) every time you want to access the NetStim's parameters, or the NetStim itself.