Skip to main content

Motion Standalone Preprocessor C# library 2026 R1

Class UserSubroutine

Last update: 09.03.2026

Namespace: VM.Managed.DAFUL
Assembly: VMDSP.dll

This class is to represent the user subroutine.

public class UserSubroutine : SubEntity, IObservableObject, IDisposableObject, ILinkable, ILinkContainerEvent, IVerifiable, IHistoryObjectSerializable, IAttributeContainer, ISubEntity, IEntityBase, IObjectBase, IObject, ILinkContainer, IOwned, IHasID, IEventProvider, IHasKeyObject, IHasName, IEnabled, IHasComment, INamed, INavigatorItem, IInterface, ITemplateObject, IArgument, IRepairable, IHasReportOnly, IReferencable, IReportable, IHasResult, IDuplicate

Inheritance

object ← ObservableObject ← LinkableBase ← ObjectBase ← Object<ObjectEventCore> ← SubEntity ← UserSubroutine

Implements

IObservableObject, IDisposableObject, ILinkable, ILinkContainerEvent, IVerifiable, IHistoryObjectSerializable, IAttributeContainer, ISubEntity, IEntityBase, IObjectBase, IObject, ILinkContainer, IOwned, IHasID, IEventProvider, IHasKeyObject, IHasName, IEnabled, IHasComment, INamed, INavigatorItem, IInterface, ITemplateObject, IArgument, IRepairable, IHasReportOnly, IReferencable, IReportable, IHasResult, IDuplicate

Inherited Members

SubEntity.Initialize(Unit.ConvertFactor), SubEntity.GetModelNavigatorInformationImpl(XmlDocument, XmlElement, bool), SubEntity.FixUp(ObjectBase), SubEntity.WriteTemplateImpl(XmlWriter), SubEntity.ReadTemplateImpl(XmlReader), SubEntity.Name, SubEntity.FullName, SubEntity.NonSymmetricName, SubEntity.DisplayName, SubEntity.IsEnabled, SubEntity.Comment, Object<ObjectEventCore>.GetKey(), Object<ObjectEventCore>.Initialize(Unit.ConvertFactor), Object<ObjectEventCore>.SetIconColor(Canvas), Object<ObjectEventCore>.OnDeserialization(object), Object<ObjectEventCore>.CustomGetObjectData(SerializationInfo, StreamingContext), Object<ObjectEventCore>.RollbackEvent(), Object<ObjectEventCore>.OnDeserializedCore(object), Object<ObjectEventCore>.Key, Object<ObjectEventCore>.UntypedEventCore, Object<ObjectEventCore>.EventCore, Object<ObjectEventCore>.Attributes, ObjectBase.ReplaceEventCore(ObjectEventCore), ObjectBase.SetModifiedCore(ModifiedResult.ModifiedType), ObjectBase.AddPostDeserialize(StreamingContext), ObjectBase.LinkAddedToDocumentCore(IOwned, bool), ObjectBase.SetModified(ModifiedResult.ModifiedType), ObjectBase.SetModified(), ObjectBase.SetModified(ModifiedResult.ModifiedType, IDocument), ObjectBase.DestroyObject(object, LinkEventArgs), ObjectBase.DestroyObject(DestroyEventArgs), ObjectBase.DestroyObject(), ObjectBase.Initialize(Unit.ConvertFactor), ObjectBase.FixUp(ObjectBase), ObjectBase.DoWorkAfterUpdateContents(), ObjectBase.SetOldNameWithNewEntity(ObjectBase, ObjectBase), ObjectBase.SetIconColor(Canvas), ObjectBase.RemoveFromCreatedList(), ObjectBase.PostAddToDocument(), ObjectBase.PostRemoveFromDocument(Document), ObjectBase.GetArgumentList(LinkedList<ObjectBase>), ObjectBase.ResetInvalidEntity(), ObjectBase.OnDeserialization(object), ObjectBase.IsSerializableEvent(Delegate), ObjectBase.CustomGetObjectData(SerializationInfo, StreamingContext), ObjectBase.CheckAndUpdateLink(HashSet<ObjectBase>), ObjectBase.Verify(VerifiedResult), ObjectBase.ConnectProxy(), ObjectBase.RollbackEvent(), ObjectBase.LinkRequestUpdating(object, LinkEventArgs), ObjectBase.LinkRequestUpdate(object, LinkEventArgs), ObjectBase.LinkRequestDestroying(object, LinkEventArgs), ObjectBase.LinkRequestDestroy(object, LinkEventArgs), ObjectBase.LinkAddedToDocument(object, AddToDocEventArgs), ObjectBase.LinkRemovedFromDocument(object, RemoveFromDocEventArgs), ObjectBase.DisposeManagedResources(), ObjectBase.GetDestroyEventExtraData(), ObjectBase.OnLinkReserved(ILink, object, EventArgs), ObjectBase.CreateEntityWhenUpdateContents(Action), ObjectBase.GetObjectByKey(UIntPtr), ObjectBase.FindObjectOnXmlDeserialize(string), ObjectBase.UpdateContents(XmlReader, ObjectBase, string), ObjectBase.UpdateContents(XmlReader, ObjectBase), ObjectBase.UpdateContents(string, string), ObjectBase.UpdateContents(string), ObjectBase.SetFlagWhenXMLFile(string, bool), ObjectBase.IsEqualArray<T>(T[], T[]), ObjectBase.IsEqualList(List<double>, List<double>), ObjectBase.SetContainer(IOwned, bool), ObjectBase.GetTargetListForUpdate(), ObjectBase.SkipUpdateObjectImpl(), ObjectBase.raise_OnUpdating(object, LinkEventArgs), ObjectBase.raise_OnUpdate(object, LinkEventArgs), ObjectBase.raise_OnDestroying(object, LinkEventArgs), ObjectBase.raise_OnDestroy(object, LinkEventArgs), ObjectBase.raise_Destroying(object, Identifier), ObjectBase.raise_OnAdded(object, AddToDocEventArgs), ObjectBase.raise_OnRemoved(object, RemoveFromDocEventArgs), ObjectBase.raise_OnContentsUpdated(object, EventArgs), ObjectBase.Dispose(bool), ObjectBase.SkipModified, ObjectBase.ClearChildInfoBeforeDeserialize, ObjectBase.KeyImpl, ObjectBase.ID, ObjectBase.TopologyEntityTypeName, ObjectBase.ObjectStateForCircularError, ObjectBase.ObjectState, ObjectBase.IsChildExternable, ObjectBase.IsExternable, ObjectBase.Container, ObjectBase.Owner, ObjectBase.Document, ObjectBase.UntypedEventCore, ObjectBase.KernelKey, ObjectBase.Key, ObjectBase.OnContentsUpdated, ObjectBase.OnRemoved, ObjectBase.OnAdded, ObjectBase.Destroying, ObjectBase.OnDestroy, ObjectBase.OnDestroying, ObjectBase.OnUpdate, ObjectBase.OnUpdating, LinkableBase.OnDeserialization(object), ObservableObject.Dispose(), ObservableObject.RaisePropertyChanged(string), ObservableObject.RaisePropertyChanged(string, object, object), ObservableObject.Dispose(bool), ObservableObject.DisposeManagedResources(), ObservableObject.DisposeUnmanagedResources(), ObservableObject.IsDisposed, ObservableObject.TryDisposing, ObservableObject.Disposed, ObservableObject.Disposing, ObservableObject.PropertyChanged

Extension Methods

LinkPropertyItemCache.GetLinkProperties(object, LinkPropertyType), LinkPropertyItemCache.GetLinkPropertiesAndValues(object, LinkPropertyType), LinkPropertyItemCache.GetLinkedObjects<T>(object, LinkPropertyType)

Constructors

UserSubroutine()

Initializes a new instance of the class.

public UserSubroutine()

UserSubroutine(string)

Initializes a new instance of the class.

public UserSubroutine(string strName)

Parameters

strName string

Name of the user subroutine.

Fields

DefaultResultName

A default name of Result.

public const string DefaultResultName = "parameter#"

Field Value

string

Properties

ArgumentList

Gets or sets the argument list.

public ArgumentListGeneral ArgumentList { get; set; }

Property Value

ArgumentListGeneral

ArgumentType

Gets the type of the argument

public ArgumentTypes ArgumentType { get; }

Property Value

ArgumentTypes

CommentOfArgument

Gets or sets the comment of argument.

public string[] CommentOfArgument { get; set; }

Property Value

string[]

DllName

Gets or sets the name of the DLL.

public string DllName { get; set; }

Property Value

string

Expression

Gets or sets the expression.

public string Expression { get; set; }

Property Value

string

FunctionName

Gets or sets the name of the function.

public string FunctionName { get; set; }

Property Value

string

IsInterface

Gets or sets a value indicating whether this instance is interface.

public bool IsInterface { get; set; }

Property Value

bool

IsReportOnly

Gets or sets a value indicating whether this instance is report only.

public bool IsReportOnly { get; set; }

Property Value

bool

NumOfReturnValue

Gets or sets the number of return value.

public int NumOfReturnValue { get; }

Property Value

int

ReferenceType

Gets the type of the array for argument.

public string ReferenceType { get; }

Property Value

string

ResultName

Gets or sets the name of the result.

[Obsolete]
public string[] ResultName { get; set; }

Property Value

string[]

Results

Gets or sets the result.

public UserSubroutine.Result[] Results { get; set; }

Property Value

UserSubroutine.Result[]

UserDefinedDisplaySet

Gets or sets the user defined display.

public UserSubroutine.UserDefinedDisplay[] UserDefinedDisplaySet { get; set; }

Property Value

UserSubroutine.UserDefinedDisplay[]

Methods

AddResult(Result)

Add Result information.

public void AddResult(UserSubroutine.Result result)

Parameters

result UserSubroutine.Result

The result.

AddResult()

Add result information.

public void AddResult()

ContainsReservedArgument()

Determines whether [contains] [the reserved arg].

public bool ContainsReservedArgument()

Returns

bool

true if [contains] [the reserved arg]; otherwise, false.

GetDefaultResultName()

Get default result name.

public string GetDefaultResultName()

Returns

string

IndexOfResult(Result)

Gets the index of result

public int IndexOfResult(UserSubroutine.Result result)

Parameters

result UserSubroutine.Result

The result

Returns

int

Initialize(ConvertFactor)

Initializes member through unit convert factor.

public override void Initialize(Unit.ConvertFactor factor)

Parameters

factor Unit.ConvertFactor

The unit convert factor.

IsContainResultName(string)

Is contain result name.

public bool IsContainResultName(string name)

Parameters

name string

Returns

bool

ModifyArgumentListWithExpression(string)

Modify argumentList with expression

public void ModifyArgumentListWithExpression(string strExpression)

Parameters

strExpression string

ModifyResultsCount(int)

Modify Result information.

public void ModifyResultsCount(int resultsCount)

Parameters

resultsCount int

The result count.

OnDeserialization(object)

Called when [deserialization].

protected override void OnDeserialization(object sender)

Parameters

sender object

The sender.

ReadTemplateImpl(XmlReader)

Reads the template document [implementation].

protected override void ReadTemplateImpl(XmlReader reader)

Parameters

reader XmlReader

The reader.

WriteTemplateImpl(XmlWriter)

Writes the template document [implementation].

protected override void WriteTemplateImpl(XmlWriter writer)

Parameters

writer XmlWriter

The writer.

Connect with Ansys