    

 ## On this page

  

 

 # Class MatrixForceUserSubroutine

 Last update: 16.07.2025 

Namespace: [VM.Managed.DAFUL.Force](VM.Managed.DAFUL.Force.md)  
Assembly: VMDFP.dll

This class is to represent the matrix force charactoristic properties of user-subroutine type.

```csharp
public sealed class MatrixForceUserSubroutine : MatrixForceFunction, IObservableObject, IDisposableObject, ILinkable, IObject, ILinkContainer, IOwned, IHasID, IEventProvider, ILinkContainerEvent, IVerifiable, IReservable

```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← ObservableObject ← LinkableBase ← LinkContainer ← [MatrixForceFunction](VM.Managed.DAFUL.Force.MatrixForceFunction.md) ← [MatrixForceUserSubroutine](VM.Managed.DAFUL.Force.MatrixForceUserSubroutine.md)

#### Implements

IObservableObject, IDisposableObject, ILinkable, IObject, ILinkContainer, IOwned, IHasID, IEventProvider, ILinkContainerEvent, IVerifiable, IReservable

#### Inherited Members

[MatrixForceFunction.Initialize(Unit.ConvertFactor)](VM.Managed.DAFUL.Force.MatrixForceFunction.md#VM_Managed_DAFUL_Force_MatrixForceFunction_Initialize_VM_Unit_ConvertFactor_), [MatrixForceFunction.WriteTemplate(XmlWriter)](VM.Managed.DAFUL.Force.MatrixForceFunction.md#VM_Managed_DAFUL_Force_MatrixForceFunction_WriteTemplate_System_Xml_XmlWriter_), [MatrixForceFunction.ReadTemplate(XmlReader)](VM.Managed.DAFUL.Force.MatrixForceFunction.md#VM_Managed_DAFUL_Force_MatrixForceFunction_ReadTemplate_System_Xml_XmlReader_), [MatrixForceFunction.RefLength](VM.Managed.DAFUL.Force.MatrixForceFunction.md#VM_Managed_DAFUL_Force_MatrixForceFunction_RefLength), [MatrixForceFunction.RefAngle](VM.Managed.DAFUL.Force.MatrixForceFunction.md#VM_Managed_DAFUL_Force_MatrixForceFunction_RefAngle), [MatrixForceFunction.IsUseSynchro](VM.Managed.DAFUL.Force.MatrixForceFunction.md#VM_Managed_DAFUL_Force_MatrixForceFunction_IsUseSynchro), [MatrixForceFunction.Type](VM.Managed.DAFUL.Force.MatrixForceFunction.md#VM_Managed_DAFUL_Force_MatrixForceFunction_Type), LinkContainer.SetModified(), LinkContainer.raise\_OnUpdating(object, LinkEventArgs), LinkContainer.raise\_OnUpdate(object, LinkEventArgs), LinkContainer.raise\_OnDestroying(object, LinkEventArgs), LinkContainer.raise\_OnDestroy(object, LinkEventArgs), LinkContainer.raise\_OnAdded(object, AddToDocEventArgs), LinkContainer.raise\_OnRemoved(object, RemoveFromDocEventArgs), LinkContainer.GetTargetListForUpdate(), LinkContainer.SkipUpdateObjectImpl(), LinkContainer.Initialize(Unit.ConvertFactor), LinkContainer.SetFlagWhenXMLFile(string, bool), LinkContainer.SetContainer(IOwned, bool), LinkContainer.Container, LinkContainer.Owner, LinkContainer.Document, LinkContainer.ID, LinkContainer.IsChildExternable, LinkContainer.IsExternable, LinkContainer.OnRemoved, LinkContainer.OnAdded, LinkContainer.OnDestroy, LinkContainer.OnDestroying, LinkContainer.OnUpdate, LinkContainer.OnUpdating, ObservableObject.Dispose(), ObservableObject.RaisePropertyChanged(string), ObservableObject.RaisePropertyChanged(string, object, object), ObservableObject.IsDisposed, ObservableObject.TryDisposing, ObservableObject.Disposed, ObservableObject.Disposing, ObservableObject.PropertyChanged

#### Extension Methods

[LinkPropertyItemCache.GetLinkProperties(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkProperties_System_Object_VM_Models_Pre_LinkPropertyType_), [LinkPropertyItemCache.GetLinkPropertiesAndValues(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkPropertiesAndValues_System_Object_VM_Models_Pre_LinkPropertyType_), [LinkPropertyItemCache.GetLinkedObjects&lt;T&gt;(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkedObjects__1_System_Object_VM_Models_Pre_LinkPropertyType_)

## Constructors

### MatrixForceUserSubroutine()

Initializes a new instance of the  class.

```csharp
public MatrixForceUserSubroutine()

```

### MatrixForceUserSubroutine(PropertyMatrix)

Initializes a new instance of the  class.

```csharp
public MatrixForceUserSubroutine(PropertyMatrix owner)

```

#### Parameters

`owner` [PropertyMatrix](VM.Managed.DAFUL.Force.PropertyMatrix.md)

The owner matrix force property.

## Properties

### Type

Gets the function type.

```csharp
public override MatrixForceFunction.FunctionType Type { get; }

```

#### Property Value

[MatrixForceFunction](VM.Managed.DAFUL.Force.MatrixForceFunction.md).[FunctionType](VM.Managed.DAFUL.Force.MatrixForceFunction.FunctionType.md)

### UserSubroutine

Gets or sets the user subroutine.

```csharp
public UserSubroutine UserSubroutine { get; set; }

```

#### Property Value

UserSubroutine

## Methods

### Initialize(ConvertFactor)

Initializes member through unit convert factor.

```csharp
public override void Initialize(Unit.ConvertFactor factor)

```

#### Parameters

`factor` Unit.ConvertFactor

The unit convert factor.

### ReadTemplate(XmlReader)

Reads the template.

```csharp
public override void ReadTemplate(XmlReader reader)

```

#### Parameters

`reader` [XmlReader](https://learn.microsoft.com/dotnet/api/system.xml.xmlreader)

The reader.

### WriteTemplate(XmlWriter)

Writes the template.

```csharp
public override void WriteTemplate(XmlWriter writer)

```

#### Parameters

`writer` [XmlWriter](https://learn.microsoft.com/dotnet/api/system.xml.xmlwriter)

The writer.