Це нерозумне питання, але ви можете використовувати цей код, щоб перевірити, чи є щось певного типу ...
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 і покласти решту методу whoooole всередині дужок if, але тоді я отримаю код ялинки з великою кількістю закриваючих дужок в кінці методу. Це набагато менш читабельно.
ifnot