Class Property
Represents a property of a component, usually a video capture device.
Inheritance
Implements
Inherited Members
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |