Class Property

Represents a property of a component, usually a video capture device.

Implements
Namespace: ic4
Assembly: ic4dotnet.dll
Syntax
public class Property : HandleObject, IDisposable
Remarks

All property types are derived from Property, e.g. PropInteger , PropCommand or PropEnumeration.

PropEnumEntry is also derived from Property, even though they are not part of the category tree. Nevertheless, enumeration entries support all standard property operations.

Property objects and objects of classes derived from Property are created in multiple ways:

  • By passing the name of a known property to Find(string) or one of its typed sibling functions like FindInteger(string),
  • By passing a property identifier to Find(PropIdEnumeration) or one of its overloads,
  • By enumerating Features to get all properties from a category,
  • By enumerating All to get all properties in a property map's category tree,
  • By enumerating Entries to get all entries of an enumeration property,
  • By enumerating SelectedProperties to get the properties selected by a property.

Property objects hold a reference to an internal library object. To release the reference, call Dispose().

Property objects become invalid after the device has been closed, and will throw an exception if used afterwards.

Properties

Description

A description for the property

Declaration
public string Description { get; }
Property Value
Type Description
string

A description for the property

Remarks

A property's description is a short text that describes the property, usually in more detail than the Tooltip.

Exceptions
Type Condition
IC4Exception

Check ErrorCode and ToString() for details.

DisplayName

The display name of the property

Declaration
public string DisplayName { get; }
Property Value
Type Description
string

The display name of the property

Remarks

A property's display name is a text representation of the property that is meant to be displayed in user interfaces. For example, the display name of the ExposureTime property usually is Exposure Time.

IsAvailable

Indicates whether the property is currently available.

Declaration
public bool IsAvailable { get; }
Property Value
Type Description
bool

true, if the property is currently available, otherwise false

Remarks

If a property is not available, attempts to read or write its value will fail.

A property may become unavailable, if its value does not have a meaning in the current state of the device. The property's availability status can change upon writing to another property.

IsLikelyLockedByStream

Tries to determine whether a property is locked because a data stream is active.

Declaration
public bool IsLikelyLockedByStream { get; }
Property Value
Type Description
bool

true, if the property is currently locked, and will likely be unlocked if the data stream is stopped. false, if the property is not currently locked, or stopping the data stream will probably not lead to the property being unlocked.

Remarks

For technical reasons, this function cannot always accurately predict the future.

IsLocked

Indicates whether the property is currently locked.

Declaration
public bool IsLocked { get; }
Property Value
Type Description
bool

true, if the property is currently locked, otherwise false

Remarks

A locked property can be read, but attempts to write its value will fail.

A property's locked status may change upon writing to another property.

Common examples for locked properties are ExposureTime or Gain if ExposureAuto or GainAuto are enabled.

IsReadonly

Indicates whether the whether a property is read-only.

Declaration
public bool IsReadonly { get; }
Property Value
Type Description
bool

true, if the property is read-only, otherwise false

Remarks

A read-only property will never be writable, the read-only status will never change.

A Common examples for a read-only property is DeviceTemperature.

IsSelector

Indicates whether this property's value changes the meaning and/or value of other properties.

Declaration
public bool IsSelector { get; }
Property Value
Type Description
bool

true, if the property is a selector, otherwise false

Name

The name of the property

Declaration
public string Name { get; }
Property Value
Type Description
string

The name of the property

Exceptions
Type Condition
IC4Exception

Check ErrorCode and ToString() for details.

SelectedProperties

Enumerates the properties whose values' meaning depend on this property.

Declaration
public IEnumerable<Property> SelectedProperties { get; }
Property Value
Type Description
IEnumerable<Property>

An enumeration of Property objects representing the property's selected properties.

Exceptions
Type Condition
IC4Exception

Check ErrorCode and ToString() for details.

Tooltip

A tooltip for the property

Declaration
public string Tooltip { get; }
Property Value
Type Description
string

A tooltip for the property

Remarks

A property's tooltip is a text that can be used when a tooltip is required by a user interface.Usually, the tooltip is a very short description of the property.

Exceptions
Type Condition
IC4Exception

Check ErrorCode and ToString() for details.

Type

The type of the property

Declaration
public PropertyType Type { get; }
Property Value
Type Description
PropertyType

the type of the property

Visibility

Visibility hint for the property.

Declaration
public PropertyVisibility Visibility { get; }
Property Value
Type Description
PropertyVisibility

Visibility hint for the property.

Remarks

The visibility hint can be used to create user interfaces with different complexities. The most commonly used properties have the beginner visibility, while rarely used or diagnostic features might be tagged guru or even invisible.

Events

Notification

Occurs whenever an aspect of the property changes, for example its value or locked state.

Declaration
public event EventHandler Notification
Event Type
Type Description
EventHandler

Implements