Is there an easy way to create a class method for a subclass of a DyanamicObject or ExpandoObject?
Is resorting back to reflection the only way?
What I mean is something like :-
class Animal : DynamicObject {
}
class Bird : Animal {
}
class Dog : Animal {
}
Bird.Fly = new Action (()=>Console.Write("Yes I can"));
Bird.Fly in this case applying to the class of Bird rather than any specific instance.
Nope, there are no dynamic class scoped methods. The closest thing you could do is have a dynamic singleton statically declared on the subclass.
class Bird : Animal {
public static readonly dynamic Shared = new ExpandoObject();
}
Bird.Shared.Fly = new Action (()=>Console.Write("Yes I can"));