Programmatically typing casting a TreeNode in Kentico is not something that is readily available on the internet. In fact, when someone posed just such a question in the Kentico forums, they were met with "why would you do that?".
This code examples takes a few liberties in the assumptions being made.
- You already have a valid TreeNode from the DocumentHelper or generated Provider
- You are type casting to the generated pages model exported from Kentico (in this case assumed to be YourPageType)
var node = ...; // set your tree node or nodes
var typedNode = TreeNode.New<Generated.Pages.YourPageType>(node.GetDataSet().Tables[0].Rows[0]);
That's it!
Why would you want to do this? Well in some scenarios you might need to return a list of tree nodes that are a mix of different types, as it can be more efficient to manipulate the items in code, vs doing something like a N+1 query.
In this case, it would be nice to still work with the strongly typed generated classes. Now you can.