The Common Language Specification (CLS) defines three roles for CLS-compliant applications: framework, consumer, and extender.
Enhancements to the PowerScript language enable PowerBuilder .NET to support a CLS-extender role.
The WPF Window Application targets
in
PowerBuilder .NET are CLS extenders because they allow you to consume and extend the CLS framework. The .NET Assembly targets in the
PowerBuilder .NET IDE support a framework role for CLS compliance, since the components generated from these targets can be consumed by any other .NET language.
CLS role |
Requirements |
Framework |
Guarantees interoperability across different .NET languages. A CLS-compliant .NET library is called a framework. |
Consumer |
A CLS consumer must be able to use CLS-compliant libraries, but cannot extend the CLS Framework. The CLS-compliant consumer must be able to:
- Call any CLS-compliant method
- Have a mechanism for calling methods for which names are keywords in the language
- Create an instance of any CLS-compliant type
- Read and modify any CLS-compliant field
- Access any CLS-compliant property and event
- Have a mechanism to use generic types and methods, and to access nested types
|
Extender |
A CLS extender must allow users to consume and extend the CLS Framework. Everything that applies to CLS consumers also applies to CLS extenders, but extenders must also be able to:
- Define new nongeneric CLS-compliant types that extend CLS-compliant base types
- Implement any CLS-compliant interface
- Place CLS-compliant custom attributes on appropriate elements
|