Dinamikus objektumok használata (Visual Basic)

A dinamikus objektumok lehetővé teszik más módon is, mint a Object típus, az objektumokhoz való késői kötést futásidőben. A dinamikus objektumok a System.Dynamic névtérben definiált dinamikus illesztőfelületekkel teszik elérhetővé a tagokat, például a tulajdonságokat és a metódusokat futásidőben. A névtér osztályaival System.Dynamic olyan objektumokat hozhat létre, amelyek statikus típusnak vagy formátumnak nem megfelelő adatstruktúrákkal működnek. Az olyan dinamikus nyelvekben definiált dinamikus objektumokat is használhatja, mint az IronPython vagy az IronRuby. A dinamikus objektumok létrehozását vagy dinamikus nyelven definiált dinamikus objektum használatát bemutató példákért tekintse meg az útmutatót: Dinamikus objektumok létrehozása és használata, DynamicObjectvagy ExpandoObject.

A Visual Basic a dinamikus nyelvi futtatókörnyezetből származó objektumokhoz és olyan dinamikus nyelvekhez kötődik, mint az IronPython és az IronRuby a IDynamicMetaObjectProvider felület használatával. A IDynamicMetaObjectProvider interfészt megvalósító osztályok például a DynamicObject és a ExpandoObject osztályok.

Ha késői hívás történik egy objektumra, amely a IDynamicMetaObjectProvider interfészt valósítja meg, akkor a Visual Basic az interfész használatával köti össze a dinamikus objektumot. Ha egy késői kötésű hívás történik egy objektumra, amely nem implementálja az IDynamicMetaObjectProvider interfészt, vagy ha a IDynamicMetaObjectProvider interfész hívása meghiúsul, a Visual Basic a Visual Basic futtatókörnyezet késői kötési képességeit használva köti az objektumot.

Lásd még