Item Property

Gets or sets the weakly-typed name for the current order form. In C#, this property is the indexer for the OrderForm class.

Namespace:  Microsoft.CommerceServer.Runtime.Orders
Assembly:  Microsoft.CommerceServer.Runtime (in Microsoft.CommerceServer.Runtime.dll)

Syntax

'Declaration
Public Property Item ( _
    keyName As String _
) As Object
'Usage
Dim instance As OrderForm
Dim keyName As String
Dim value As Object

value = instance.Item(keyName)

instance.Item(keyName) = value
public Object Item[
    string keyName
] { get; set; }
public:
property Object^ Item[String^ keyName] {
    Object^ get (String^ keyName);
    void set (String^ keyName, Object^ value);
}
JScript does not support indexed properties.

Parameters

  • keyName
    Type: System..::.String
    The key name of the specified property of the order form class. Cannot be nullNothingnullptra null reference (Nothing in Visual Basic).

Property Value

Type: System..::.Object
Weakly-typed properties for the current instance.

Exceptions

Exception Condition
PropertyConflictException

keyName conflicts with a strongly-typed property name or the name of a Dictionary key that is mapped to a strongly-typed property through the Pipeline Adapter mapping file (OrderPipelineMappings.xml in the default Commerce Server installation).

ArgumentNullException

keyName is nullNothingnullptra null reference (Nothing in Visual Basic).

Remarks

Weakly-typed properties with the same name as strongly typed properties are not allowed. For example, the base object model contains a property named BillingAddressId. You cannot set a weakly typed property on the order form with the same name.

OrderForm["BillingAddressId"] = "MyBillingId"; // This will throw a PropertyConflictException!

To support legacy Commerce Server functionality, weakly-typed property names starting with an underscore ("_") will not be written to storage. Names without underscore prefixes that are not serializable also will not be stored.

keyName is trimmed of leading and trailing white space characters before being set.

Marshalling the indexer property is totally governed by the .NET/COM interoperability rules. If you place an object into an indexer property, you should review the .NET/COM interoperability rules to determine how the object will appear to COM-based code.

Permissions

See Also

Reference

OrderForm Class

OrderForm Members

Microsoft.CommerceServer.Runtime.Orders Namespace