Show / Hide Table of Contents

Class Scope

Helper class to be used in the context of 'using' clause to facilitate cleanup on scope exit and performing of other functions such as status logging

Inheritance
System.Object
DisposableObject
Scope
Implements
System.IDisposable
Inherited Members
DisposableObject.DisposeAndNull<T>(T)
DisposableObject.DisposeStarted
DisposableObject.Disposed
DisposableObject.EnsureObjectNotDisposed()
DisposableObject.Dispose()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: NFX
Assembly: NFX.dll
Syntax
public class Scope : DisposableObject, IDisposable
Remarks

Typical use case:

  using(Scope.OnExit(() => Bell.Ring()))
  {
     ... do something ...
  }

  using(Scope.OnExit<bool>(
                ()  => { var old = Tracing.IsOn; Tracing.Off(); return old; },
                (b) => Tracing.State(b)))
  {
     ... do something ...
  }

Constructors

Scope(String, Boolean, String, String, Nullable<MessageType>, Action, Boolean, Int32)

Declaration
public Scope(string name = null, bool log = false, string logText = null, string logTopic = null, MessageType? logMsgType = default (MessageType? ), Action onExit = null, bool measureTime = false, int stackFrameOffset = 2)
Parameters
Type Name Description
System.String name
System.Boolean log
System.String logText
System.String logTopic
System.Nullable<MessageType> logMsgType
System.Action onExit
System.Boolean measureTime
System.Int32 stackFrameOffset

Methods

AtExit(Action)

Declaration
public Scope AtExit(Action onExit)
Parameters
Type Name Description
System.Action onExit
Returns
Type Description
Scope

AtExit<T1>(T1, Action<T1>)

Declaration
public Scope AtExit<T1>(T1 c1, Action<T1> onExit)
Parameters
Type Name Description
T1 c1
System.Action<T1> onExit
Returns
Type Description
Scope
Type Parameters
Name Description
T1

AtExit<T1, T2>(T1, T2, Action<T1, T2>)

Declaration
public Scope AtExit<T1, T2>(T1 c1, T2 c2, Action<T1, T2> onExit)
Parameters
Type Name Description
T1 c1
T2 c2
System.Action<T1, T2> onExit
Returns
Type Description
Scope
Type Parameters
Name Description
T1
T2

AtExit<T1, T2, T3>(T1, T2, T3, Action<T1, T2, T3>)

Declaration
public Scope AtExit<T1, T2, T3>(T1 c1, T2 c2, T3 c3, Action<T1, T2, T3> onExit)
Parameters
Type Name Description
T1 c1
T2 c2
T3 c3
System.Action<T1, T2, T3> onExit
Returns
Type Description
Scope
Type Parameters
Name Description
T1
T2
T3

AtExit<T1, T2, T3, T4>(T1, T2, T3, T4, Action<T1, T2, T3, T4>)

Declaration
public Scope AtExit<T1, T2, T3, T4>(T1 c1, T2 c2, T3 c3, T4 c4, Action<T1, T2, T3, T4> onExit)
Parameters
Type Name Description
T1 c1
T2 c2
T3 c3
T4 c4
System.Action<T1, T2, T3, T4> onExit
Returns
Type Description
Scope
Type Parameters
Name Description
T1
T2
T3
T4

Destructor()

Declaration
protected override void Destructor()
Overrides
DisposableObject.Destructor()

OnExit(Action)

Declaration
public static Scope._scopeExit OnExit(Action onExit)
Parameters
Type Name Description
System.Action onExit
Returns
Type Description
Scope._scopeExit

OnExit<T1>(T1, Action<T1>)

Declaration
public static Scope._scopeExit<T1> OnExit<T1>(T1 context, Action<T1> onExit)
Parameters
Type Name Description
T1 context
System.Action<T1> onExit
Returns
Type Description
Scope._scopeExit<T1>
Type Parameters
Name Description
T1

OnExit<T1, T2>(T1, T2, Action<T1, T2>)

Declaration
public static Scope._scopeExit<T1, T2> OnExit<T1, T2>(T1 ctx1, T2 ctx2, Action<T1, T2> onExit)
Parameters
Type Name Description
T1 ctx1
T2 ctx2
System.Action<T1, T2> onExit
Returns
Type Description
Scope._scopeExit<T1, T2>
Type Parameters
Name Description
T1
T2

OnExit<T1, T2, T3>(T1, T2, T3, Action<T1, T2, T3>)

Declaration
public static Scope._scopeExit<T1, T2, T3> OnExit<T1, T2, T3>(T1 ctx1, T2 ctx2, T3 ctx3, Action<T1, T2, T3> onExit)
Parameters
Type Name Description
T1 ctx1
T2 ctx2
T3 ctx3
System.Action<T1, T2, T3> onExit
Returns
Type Description
Scope._scopeExit<T1, T2, T3>
Type Parameters
Name Description
T1
T2
T3

OnExit<T1, T2, T3, T4>(T1, T2, T3, T4, Action<T1, T2, T3, T4>)

Declaration
public static Scope._scopeExit<T1, T2, T3, T4> OnExit<T1, T2, T3, T4>(T1 c1, T2 c2, T3 c3, T4 c4, Action<T1, T2, T3, T4> onExit)
Parameters
Type Name Description
T1 c1
T2 c2
T3 c3
T4 c4
System.Action<T1, T2, T3, T4> onExit
Returns
Type Description
Scope._scopeExit<T1, T2, T3, T4>
Type Parameters
Name Description
T1
T2
T3
T4

Implements

System.IDisposable

Extension Methods

MiscUtils.NonNull<T>(T, Func<Exception>, String)
ObjectValueConversion.AsString(Object, String, ConvertErrorHandling)
ObjectValueConversion.AsNonNullOrEmptyString(Object)
ObjectValueConversion.AsLaconicConfig(Object, ConfigSectionNode, String, ConvertErrorHandling)
ObjectValueConversion.AsJSONConfig(Object, ConfigSectionNode, String, ConvertErrorHandling)
ObjectValueConversion.AsXMLConfig(Object, ConfigSectionNode, ConvertErrorHandling)
ObjectValueConversion.AsChar(Object, Char, ConvertErrorHandling)
ObjectValueConversion.AsNullableChar(Object, Nullable<Char>, ConvertErrorHandling)
ObjectValueConversion.AsByte(Object, Byte, ConvertErrorHandling)
ObjectValueConversion.AsNullableByte(Object, Nullable<Byte>, ConvertErrorHandling)
ObjectValueConversion.AsSByte(Object, SByte, ConvertErrorHandling)
ObjectValueConversion.AsNullableSByte(Object, Nullable<SByte>, ConvertErrorHandling)
ObjectValueConversion.AsShort(Object, Int16, ConvertErrorHandling)
ObjectValueConversion.AsNullableShort(Object, Nullable<Int16>, ConvertErrorHandling)
ObjectValueConversion.AsUShort(Object, UInt16, ConvertErrorHandling)
ObjectValueConversion.AsNullableUShort(Object, Nullable<UInt16>, ConvertErrorHandling)
ObjectValueConversion.AsInt(Object, Int32, ConvertErrorHandling)
ObjectValueConversion.AsNullableInt(Object, Nullable<Int32>, ConvertErrorHandling)
ObjectValueConversion.AsUInt(Object, UInt32, ConvertErrorHandling)
ObjectValueConversion.AsNullableUInt(Object, Nullable<UInt32>, ConvertErrorHandling)
ObjectValueConversion.AsLong(Object, Int64, ConvertErrorHandling)
ObjectValueConversion.AsNullableLong(Object, Nullable<Int64>, ConvertErrorHandling)
ObjectValueConversion.AsULong(Object, UInt64, ConvertErrorHandling)
ObjectValueConversion.AsNullableULong(Object, Nullable<UInt64>, ConvertErrorHandling)
ObjectValueConversion.AsDouble(Object, Double, ConvertErrorHandling)
ObjectValueConversion.AsNullableDouble(Object, Nullable<Double>, ConvertErrorHandling)
ObjectValueConversion.AsFloat(Object, Single, ConvertErrorHandling)
ObjectValueConversion.AsNullableFloat(Object, Nullable<Single>, ConvertErrorHandling)
ObjectValueConversion.AsDecimal(Object, Decimal, ConvertErrorHandling)
ObjectValueConversion.AsNullableDecimal(Object, Nullable<Decimal>, ConvertErrorHandling)
ObjectValueConversion.AsBool(Object, Boolean, ConvertErrorHandling)
ObjectValueConversion.AsNullableBool(Object, Nullable<Boolean>, ConvertErrorHandling)
ObjectValueConversion.AsGUID(Object, Guid, ConvertErrorHandling)
ObjectValueConversion.AsNullableGUID(Object, Nullable<Guid>, ConvertErrorHandling)
ObjectValueConversion.AsDateTime(Object)
ObjectValueConversion.AsDateTime(Object, DateTime, ConvertErrorHandling)
ObjectValueConversion.AsNullableDateTime(Object, Nullable<DateTime>, ConvertErrorHandling)
ObjectValueConversion.AsGDID(Object)
ObjectValueConversion.AsGDID(Object, GDID, ConvertErrorHandling)
ObjectValueConversion.AsNullableGDID(Object, Nullable<GDID>, ConvertErrorHandling)
ObjectValueConversion.AsGDIDSymbol(Object)
ObjectValueConversion.AsGDIDSymbol(Object, GDIDSymbol, ConvertErrorHandling)
ObjectValueConversion.AsNullableGDIDSymbol(Object, Nullable<GDIDSymbol>, ConvertErrorHandling)
ObjectValueConversion.AsTimeSpan(Object)
ObjectValueConversion.AsTimeSpan(Object, TimeSpan, ConvertErrorHandling)
ObjectValueConversion.AsNullableTimeSpan(Object, Nullable<TimeSpan>, ConvertErrorHandling)
ObjectValueConversion.AsEnum<TEnum>(Object, TEnum, ConvertErrorHandling)
ObjectValueConversion.AsNullableEnum<TEnum>(Object, Nullable<TEnum>, ConvertErrorHandling)
ObjectValueConversion.AsUri(Object, Uri, ConvertErrorHandling)
JSONExtensions.ToJSON(Object, JSONWritingOptions)
JSONExtensions.ToJSON(Object, TextWriter, JSONWritingOptions)
JSONExtensions.ToJSON(Object, Stream, JSONWritingOptions, Encoding)
ErlObject.ToErlObject(Object)
ErlObject.ToErlObject(Object, ErlTypeOrder, Boolean)
Back to top Copyright © 2006-2018 Agnicore Inc
Generated by DocFX