8 3 Visual LANSA Restrictions and Naming Conventions for NET Component Classes

Visual LANSA

8.3 Visual LANSA Restrictions and Naming Conventions for .NET Component Classes

Due to differences in syntax between RDML and .NET languages (such as C#), certain characters need to be replaced, naming conventions changed and restrictions enforced.

Generic Classes

Generic Class names will have the generic type appended to their class name surrounded by '^'. For example,

C#

   namespace TestClasses
   {
      public class GenericTests<T,Y> 
   }

 

RDML

   #DOTNET1.TestClasses.GenericTests^T^^Y^

 

Generic Methods

Generic Methods are not supported.

Arrays

Dimensions in array class names are represented by the following syntax

Class name ---- # ---- Number of dimensions --------|
                |                              |
                 --------------<--------------- 

For example:

C#

   int[,][]
   MyClass[]

 

RDML

   #DOTNET1.System.Int32#2#1
   #DOTNET1.TestClasses.MyClass#1

 

Overloaded Functions

Unique names are generated for overloaded functions. The first function found by the assembly parser will use the actual function name. All subsequent overloaded functions will use the actual function name suffixed by "#x" where x is an incrementing number starting at 1. For example, if a .NET Framework class has three functions named Add, the function names in RDML will be Add, Add#1 and Add#2. Use the Features view in the Visual LANSA editor to view the function signatures.

LANSA Internal Names

The following names are used by internal Visual LANSA classes. You should avoid using these names in your .NET Framework components as the internal LANSA Property/Method/Event will take precedence.

Properties

Name

Owner

Parent

ComponentTag

ComponentType

ComponentMembers

ComponentTypeName

ComponentClassName

ComponentPatternName

Top

Hint

HintTitle

Left

Focus

Width

Handle

Height

Parent

Enabled

TabStop

Visible

CanFocus

HintShow

Modified

DragStyle

PopupMenu

ScreenTop

ScreenLeft

SizingRule

BusyUpdates

VisualStyle

TabPosition

DisplayPosition

HintShowOfParent

BusyUpdatesOfParent

VisualStyleOfParent

Cursor

Opacity

OriginType

OriginX

OriginY

ScaleX

ScaleY

SkewX

SkewY

Rotation

VisualStyleOverrides

 

 

Events

CreateInstance

DestroyInstance

Realize

SetFocus

Unrealize

UpdateDisplay

ShowMessages

 

 

 

Methods

EndDrag

DragDrop

DragOver

StartDrag

Initialize

MouseEnter

MouseLeave