About dynamic classes

Adding the dynamic keyword to a class definition specifies that objects based on the specified class can add and access dynamic properties at runtime. You should create dynamic classes only if you specifically require this functionality.

Type checking on dynamic classes is less strict than type checking on nondynamic classes, because members accessed inside the class definition and on class instances are not compared with those defined in the class scope. Class member functions, however, can still be type checked for return types and parameter types.

For information on creating dynamic classes, see Creating dynamic classes.