N

named overriding, 92 namespace-qualified type name, 34, 60 namespace separator (.), 60 namespaces, 32, 35 naming conflicts, avoiding, 35 naming conventions for attribute classes, 67 for managed type definitions, 82 numerical suffixes and, 97

native callers, 208 native enums, 77

native functions, calling from managed code,

210-214 native libraries, 9, 233-251 native pointers, 16, 174, 183-189 native process startup, 281 native references, 82 native resources, wrapping, 255 native stack, 15

native strings, converting to managed, 186 native-to-managed transitions, optimizations and, 208 NativeCppClassAttribute, 178 natives types, managed types and, 173-201 .NET, 2

CTS interoperability and, 11 metadata and, 31 .NET CLR Memory, 160 .NET exceptions, 164 .NET interfaces, immutability of, 96 .NET security, type names and, 34 .NET security policy, updating programmatically, 303-306 new abstract keyword, 93 new keyword, 91, 92 non-CLS-compliant types, 236 nondeterministic cleanup, 123 non-inlined thunks, 226 non-root references, 260 non-static functions, 109 NonSerializableAttribute, 69 nontrivial events, 114 nullptr, 44, 87, 89, 127 NullReferenceException, 44, 166 numerical suffixes, 97

Object class, 12, 32, 100 interfaces and, 89 virtual function overrides and, 93 object file compatibility, 4, 8 object headers, 18 ObjectDisposedException, 133, 134 objects, 12, 18

Olelnitialize, 160 operator [ ], 101

optimizations, native-to-managed transitions and, 208 out-only arguments, 239 /out:<outfile> parameter, 50 OutAttribute, 239 OutOfMemoryException, 273 override keyword, 92, 94 overriding interfaces, 94

Was this article helpful?

0 0

Post a comment