# OpcMemberOrigins Enum

<span class="api-meta">since v2.9</span>

<dl class="api-definition">
<dt>Namespace</dt>
<dd><a href="../namespaces/opc.uafx">Opc.UaFx</a></dd>
<dt>Assembly</dt>
<dd>Opc.UaFx.Advanced.dll</dd>
<dt>Package</dt>
<dd>Opc.UaFx.Advanced v2.59.0</dd>
<dt>Also in</dt>
<dd>Opc.UaFx.Client</dd>
</dl>

Defines criterions used to select members of a specific type.

## Syntax

<div class="api-signature" data-lang="csharp">

```csharp
public enum OpcMemberOrigins
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
<Flags>
Public Enum OpcMemberOrigins
```

</div>

## Inheritance

[Object](https://learn.microsoft.com/dotnet/api/system.object) → [ValueType](https://learn.microsoft.com/dotnet/api/system.valuetype) → [Enum](https://learn.microsoft.com/dotnet/api/system.enum) → **OpcMemberOrigins**

## Fields

| Name | Value | Description |
|---|---|---|
| <a id="default"></a>`Default` | `Field \| Property \| Method \| Public` | Combines the criterions [Field](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmemberorigins/#field), [Property](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmemberorigins/#property) and [Public](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmemberorigins/#public). |
| <a id="explicit"></a>`Explicit` | `8` | Restricts the possible selection of members to only whose which define an appropriate attribute. Using only this criteria results into the use of all fields and properties defined by a specific type which can be further restricted using one or more criterions to restrict the accessibility of them. |
| <a id="field"></a>`Field` | `1` | All fields of a type shall be selected. |
| <a id="internal"></a>`Internal` | `32` | Restricts the possible selection of members to only inernal accessible members. Using only this criteria results into the use of all fields and properties internal accessible (this criteria is evaluated against [IsAssembly](https://learn.microsoft.com/dotnet/api/system.reflection.fieldinfo.isassembly) for fields and [IsAssembly](https://learn.microsoft.com/dotnet/api/system.reflection.methodbase.isassembly) of the getter and setter methods of the [PropertyInfo](https://learn.microsoft.com/dotnet/api/system.reflection.propertyinfo) for properties). |
| <a id="method"></a>`Method`<span class="api-meta">since v2.20</span> | `4` | All methods of a type shall be selected. |
| <a id="nonpublic"></a>`NonPublic` | `Internal \| Protected \| Private` | Combines the criterions [Internal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmemberorigins/#internal), [Protected](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmemberorigins/#protected) and [Private](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmemberorigins/#private). |
| <a id="private"></a>`Private` | `128` | Restricts the possible selection of members to only private accessible members. Using only this criteria results into the use of all fields and properties private accessible (this criteria is evaluated against [IsPrivate](https://learn.microsoft.com/dotnet/api/system.reflection.fieldinfo.isprivate) for fields and [IsPrivate](https://learn.microsoft.com/dotnet/api/system.reflection.methodbase.isprivate) of the getter and setter methods of the [PropertyInfo](https://learn.microsoft.com/dotnet/api/system.reflection.propertyinfo) for properties). |
| <a id="property"></a>`Property` | `2` | All properties of a type shall be selected. |
| <a id="protected"></a>`Protected` | `64` | Restricts the possible selection of members to only protected accessible members. Using only this criteria results into the use of all fields and properties protected accessible (this criteria is evaluated against [IsFamily](https://learn.microsoft.com/dotnet/api/system.reflection.fieldinfo.isfamily) for fields and [IsFamily](https://learn.microsoft.com/dotnet/api/system.reflection.methodbase.isfamily) of the getter and setter methods of the [PropertyInfo](https://learn.microsoft.com/dotnet/api/system.reflection.propertyinfo) for properties). |
| <a id="public"></a>`Public` | `16` | Restricts the possible selection of members to only public accessible members. Using only this criteria results into the use of all fields and properties public accessible (this criteria is evaluated against [IsPublic](https://learn.microsoft.com/dotnet/api/system.reflection.fieldinfo.ispublic) for fields and [IsPublic](https://learn.microsoft.com/dotnet/api/system.reflection.methodbase.ispublic) of the getter and setter methods of the [PropertyInfo](https://learn.microsoft.com/dotnet/api/system.reflection.propertyinfo) for properties). |

## Applies to

| Package | Versions |
|---|---|
| Opc.UaFx.Advanced | v2.9–v2.59 |
