Skip to main content
Version: 2025

SalFunctionalClass

Namespace: PPJ.Runtime

Assembly: PPJ.Web.50 (5.0.0.0)

Provides the runtime base for SAL user-defined functional classes.

public class SalFunctionalClass

Supports runtime type lookup and the generated multiple-inheritance representation.

Example:

using PPJ.Runtime;

public class Customer : SalFunctionalClass
{
}

// In application code:
// Customer customer = new Customer();
// string name = customer.GetTypeName(); // "Customer"

Constructors

Instance member SalFunctionalClass()

Initializes a functional-class instance without a derived-owner reference.

Fields

NameTypeDescriptionValue
_derivedObjectStores the owning derived instance when this object represents an additional SAL base class.

Methods

Static member CreateFromString(className)

Resolves and creates a functional class by name.

ParameterTypeDescription
classNameStringThe class name to resolve, giving precedence to the calling assembly.

Returns: SalFunctionalClass. A new instance of the resolved class, or null when the name cannot be resolved.

The resolved type must derive from SalFunctionalClass and be constructible through a parameterless constructor. Constructor and activation failures propagate to the caller.

Instance member GetTypeName()

Returns the simple name of the runtime class.

Returns: String. The runtime type name without its namespace.

Instance member IsDerivedFrom(className)

Tests the SAL inheritance relationship with a class resolved by name.

ParameterTypeDescription
classNameStringThe base class name to resolve, giving precedence to the calling assembly.

Returns: Boolean. True when the runtime type is compatible with the resolved type through TypeManager; false if resolution or the inheritance test fails.

Instance member IsDerivedFrom(type)

Tests the SAL inheritance relationship with a runtime type.

ParameterTypeDescription
typeTypeThe type to test as a base class.

Returns: Boolean. The result of the TypeManager inheritance check for this instance's runtime type.

Static member IsValidClassName(className)

Determines whether a class name can be resolved.

ParameterTypeDescription
classNameStringThe class name to resolve, giving precedence to the calling assembly.

Returns: Boolean. True if the name resolves to a type; otherwise, false.

This method checks resolution only. It does not establish that the type can be constructed as a SalFunctionalClass.

Inherited By

NameDescription
SalCoClassProvides the functional-class base used by translated COM coclass declarations.
SalObjectWraps an automation object and manages its interfaces, enumeration, and COM error state.
SalOleErrorInfoStores the status, description, source, and help information associated with an automation error.
SalSafeArrayWraps a managed array with SAL-compatible SAFEARRAY creation and typed element access.
SalVariantStores an automation value and exposes SAL and CLR conversion operations.
stdole_FontWraps the standard OLE font automation interface using SAL values.
stdole_PictureWraps the standard OLE picture automation interface using SAL values.
stdole_StdFontWraps the standard OLE font coclass for activation and SAL-compatible access.
stdole_StdPictureWraps the standard OLE picture coclass for activation and SAL-compatible access.
VisPoint
VisRect
VisSize