So I am working in a method inside of a link subtype. When I do this.FromNode, the IGoNode that is returned does not have any Bounds information, or location information associated with it. How do I get ahold of the real “node” that I can then use the bounds method, or do I have to cast it to be the actual node class? Why is IGoNode so “thin” as far as location/bounds/size information?
You have to cast it to at least GoGroup (or the actual node class).
IGoNode.GoObject gives you the GoObject associated with the IGoNode, if there is any.
The point of interfaces is to present a simple, abstract view of an object. In this case, the IGoNode, IGoPort, and IGoLink interfaces all work together to define abstract graphs. These interfaces are also used to implement networks in GoLayout, for example.