This is a silly question, but you can use this code to check if something is a particular type...
if (child is IContainer) { //....
Is ther
While this doesn't avoid the problem of parentheses, for the sake of people getting here via Google, it should be mentioned that newer syntax exists (as of C# 7) to make the rest of your code a little cleaner:
if (!(DocumentPart is IContainer container)) { return; }
foreach(DocumentPart child in container.Children) {
...
This avoids the double-cast, the null-check, and having a variable available in scopes where it could be null.