Это глупый вопрос, но вы можете использовать этот код, чтобы проверить, является ли что-то определенного типа ...
if (child is IContainer) { //....
Есть ли более элегантный способ проверить наличие экземпляра «НЕ»?
if (!(child is IContainer)) { //A little ugly... silly, yes I know...
//these don't work :)
if (child !is IContainer) {
if (child isnt IContainer) {
if (child aint IContainer) {
if (child isnotafreaking IContainer) {
Да да ... глупый вопрос ....
Поскольку существует некоторый вопрос о том, как выглядит код, это просто простое возвращение в начале метода.
public void Update(DocumentPart part) {
part.Update();
if (!(DocumentPart is IContainer)) { return; }
foreach(DocumentPart child in ((IContainer)part).Children) {
//...etc...
if (!(argument is MapsControlViewModel vm)) { return; }
- Я мог бы инвертировать if и поместить оставшуюся часть метода в квадратные скобки if, но тогда я получил бы рождественский код с множеством закрывающих скобок в конце метода. Это гораздо менее читабельно.
ifnot
заявления