C++ Class to .NET Class Mappings

C++ Class to .NET Class Mappings

Wherever the native C++ class methods use pass-by-reference semantics to return data, the corresponding .NET methods shown in the following table return the object instead of using pass-by-reference semantics.

Table 1. C++ Class to .NET Class Mappings

C++ Class

.NET Class

class gemfire::AttributesFactory Sealed class AttributesFactory

class gemfire::AttributesMutator

Sealed class AttributesMutator
class gemfire::Cache Sealed class Cache

abstract class gemfire:: Cacheable

Interface IPdxSerializable or interface IGFSerializable

class gemfire::CacheableBytes

Byte[] or ArrayList<Byte>

class gemfire::Cacheableint32


class gemfire:: CacheableString


abstract class gemfire:: CacheableKey

You can use any type that implements hashcode and equals. The generic .NET built-in types are all suitable.

abstract class gemfire::CacheListener

Interface ICacheListener

class gemfire:: CacheLoader

Interface ICacheLoader plus static class CacheLoader

class gemfire:: CacheWriter

Interface class ICacheWriter

class gemfire::CacheFactory

Sealed class CacheFactory

class gemfire::DataInput

With IPdxSerializable, IPdxReader.

With IGFSerializable, sealed class DataInput.

class gemfire:: DataOutput

With IPdxSerializable, IPdxWriter.

With IGFSerializable, sealed class DataOutput.

class gemfire:: DiskPolicyType

enum DiskPolicyType plus static class DiskPolicy containing convenience methods for DiskPolicyType enumeration

class gemfire:: DistributedSystem

Sealed class DistributedSystem

class gemfire:: EntryEvent

Sealed class EntryEvent

class gemfire:: Exception

Class GemfireException

all other exceptions deriving from gemfire:: Exception

Corresponding exceptions deriving from GemfireException

class gemfire:: ExpirationAction

enum ExpirationAction plus static class Expiration containing convenience methods for ExpirationAction enumeration

class gemfire:: Log

Static class Log. The native Log::log method is mapped to Log.Write to avoid the conflict with the class name which is reserved for the constructors of Log class. The various loglevel Throw or Catch methods are not implemented, since they are redundant to Log::Log , Log::LogThrow, and Log::LogCatch methods that take LogLevel as a parameter.

enum gemfire:: MemberType

enum MemberType

abstract class gemfire:: PersistanceManager

Not provided. You can register a C++ implementation using AttributesFactory.SetPersistenceManager but you cannot implement a new one in .NET

class gemfire:: Properties

Sealed class Properties

class gemfire:: Properties::Visitor

Delegate PropertiesVisitor

abstract class gemfire:: Region

Class IRegion

class gemfire:: RegionAttributes

Sealed class RegionAttributes

class gemfire:: ScopeType

enum ScopeType plus static class Scope containing convenience methods for ScopeType enumeration+

abstract class gemfire:: Serializable

Two options:
  • Interface IPdxSerializable

  • Interface IGFSerializable plus wrapper Serializable class for native Serializable and UserData objects. The native toString method is not provided, since the ToString method of the base object class provides the same functionality.

class gemfire:: SystemProperties

Sealed class SystemProperties

class gemfire:: UserData

Two options:
  • Interface IPdxSerializable

  • Interface IGFSerializable

class gemfire:: VectorT<T>

Array of the given type, such as T[]