Enterra.V8x1C.DOM.Session.GetV8EnumInstance C# (CSharp) Method

GetV8EnumInstance() private method

Получить COM инстанс для Enum
private GetV8EnumInstance ( Enum enumValue ) : BaseSessionObject
enumValue System.Enum
return BaseSessionObject
        internal BaseSessionObject GetV8EnumInstance(Enum enumValue)
        {
            Type enumType = enumValue.GetType();
            object[] attrs = enumType.GetCustomAttributes(typeof (V8TypeCodeAttribute), true);
            if (attrs == null || attrs.Length == 0)
            {
                throw new ArgumentException(string.Format("Тип {0} не имеет соответствующего типа V8", enumType.FullName));
            }

            V8TypeCodeAttribute v8TypeCodeAttr = (V8TypeCodeAttribute) attrs[0];

            string internalStr = "{\"#\"," + v8TypeCodeAttr.Code + "," + Convert.ToInt32(enumValue) + "}";
            
            object ptr = ValueFromStringInternal(internalStr);

            return ptr != null ? new EnumObject(this, ptr) : null;
        }

Usage Example

Beispiel #1
0
 /// <summary>
 /// УстановитьВремя (SetTime)
 /// </summary>
 /// <param name="autoTimeMode"></param>
 /// <param name="useJournals"></param>
 public void SetTime(AutoTimeMode autoTimeMode, bool useJournals)
 {
     InvokeV8Method(
         "SetTime",
         Session.GetV8EnumInstance(autoTimeMode),
         useJournals
         );
 }
All Usage Examples Of Enterra.V8x1C.DOM.Session::GetV8EnumInstance