You may be interested in following the Singleton Design pattern here if things aren't static.
However, if resources is used frequently in your project - but contains static members (or members that you should go back and make static) - then it's rather silly to make getters and setters for everything. Just make them public objects and access them like a constant.
Now, if you want to do what you described above (which is a perfectly good way to do it) - it's certainly possible. You'll need to keep a dictionary in your resource class that uses some kind of key to access the members. Likely you'll want to set up an Enum with each member's name assigned to an index. And use the enum as the key for your dictionary. That way you'd access it like this:
res.getQuad(Resource.MyEnum.Resource1).variable;
Resource would then need something like:
public Dictionary<MyEnum, Quad> my_quads = new Dictionary<MyEnum, Quad>();
public static enum MyEnum
{
Resource1 = 0
Resource2 = 1
Resource3 = 2
}
public Quad getQuad(MyEnum resource_index)
{
return my_quads[resource_index];
}