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
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.