Missing is the character ';' at the end of method declaration. Without it, your code won't compile.
As to the purpose of that… I doubt there is any. And without the purpose, no one can say if something is right or wrong. It can be wrong for one purpose and right for another one.
In this case, I doubt it can make any sense, because
System.Object
is the base type of all types, so your list is essentially untyped. At least it will lead to the very basic violation of OOP. Perhaps you have to learn dynamic dispatch and polymprphism, that is, the basics of OOP. Even more suspicious is generation of some list out of some string. It pretty strongly suggests that you tend to work with strings representing data instead of using data itself.
If you still have more questions on the topic, you are very welcome to ask them, but we can discuss something else only if you share your ultimate goals.
[EDIT]
Also note that your interface is not generic. An example of generic interface would be, for example,
interface MyInterface<ARGUMENT, RETURN>
{
RETURN SomeFunction(ARGUMENT arg);
void SomeMethod();
void SomeOtherMethod(ARGUMENT arg);
}
—SA