• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C# CorElementType类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中CorElementType的典型用法代码示例。如果您正苦于以下问题:C# CorElementType类的具体用法?C# CorElementType怎么用?C# CorElementType使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



CorElementType类属于命名空间,在下文中一共展示了CorElementType类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: IsValid

 public static bool IsValid(CorElementType elementType)
 {
     return (CorElementType.End <= elementType && elementType <= CorElementType.Max) ||
         elementType == CorElementType.Modifier ||
         elementType == CorElementType.Sentinel ||
         elementType == CorElementType.Pinned;
 }
开发者ID:JianwenSun,项目名称:cc,代码行数:7,代码来源:MiniParameterInfo.cs


示例2: MiniParameterInfo

        public MiniParameterInfo(CorElementType elementType)
        {
            System.Diagnostics.Contracts.Contract.Requires(elementType <= CorElementType.String || 
                elementType == CorElementType.I || elementType == CorElementType.U ||
                elementType == CorElementType.Object);

            _elementType = elementType;
        }
开发者ID:JianwenSun,项目名称:cc,代码行数:8,代码来源:MiniParameterInfo.cs


示例3: DebuggerType

 public DebuggerType(Debugger debugger, CorType type, uint token = 0)
 {
     debugger.Dispatcher.VerifyAccess();
     this.debugger = debugger;
     this.type = type;
     this.hashCode = type.GetHashCode();
     this.elementType = (CorElementType)type.ElementType;
     this.attributes = type.GetTypeAttributes();
     this.token = token;
     this.tokenInitd = token != 0;
 }
开发者ID:yueding,项目名称:dnSpy,代码行数:11,代码来源:DebuggerType.cs


示例4: CorFieldInfo

		public CorFieldInfo(CorType ownerType, uint token, string name, TypeSig fieldType, FieldAttributes attrs, object constant, CorElementType constantType, DebuggerBrowsableState? debuggerBrowsableState, bool compilerGeneratedAttribute) {
			this.OwnerType = ownerType;
			this.Token = token;
			this.Name = name;
			this.FieldType = fieldType;
			this.Attributes = attrs;
			this.Constant = constant;
			this.ConstantType = constantType;
			this.DebuggerBrowsableState = debuggerBrowsableState;
			this.CompilerGeneratedAttribute = compilerGeneratedAttribute;
		}
开发者ID:nakijun,项目名称:dnSpy,代码行数:11,代码来源:MetaDataUtils.cs


示例5: GetParameterizedType

        public CorType GetParameterizedType(CorElementType elementType, CorType[] typeArguments)
        {
            ICorDebugType[] types = null;
            uint length = 0;
            if (typeArguments != null)
            {
                types = new ICorDebugType[typeArguments.Length];
                for (int i = 0; i < typeArguments.Length; i++)
                    types[i] = typeArguments[i].m_type;
                length = (uint)typeArguments.Length;
            }

            ICorDebugType pType;
            (m_class as ICorDebugClass2).GetParameterizedType(elementType, length, types, out pType);
            return pType==null?null:new CorType (pType);
        }
开发者ID:Gravecorp,项目名称:ipydbg,代码行数:16,代码来源:Class.cs


示例6: GetPrimitiveType

		IDebuggerType GetPrimitiveType(CorElementType etype) {
			switch (etype) {
			case CorElementType.Void:		return appDomain.Void;
			case CorElementType.Boolean:	return appDomain.Boolean;
			case CorElementType.Char:		return appDomain.Char;
			case CorElementType.I1:			return appDomain.SByte;
			case CorElementType.U1:			return appDomain.Byte;
			case CorElementType.I2:			return appDomain.Int16;
			case CorElementType.U2:			return appDomain.UInt16;
			case CorElementType.I4:			return appDomain.Int32;
			case CorElementType.U4:			return appDomain.UInt32;
			case CorElementType.I8:			return appDomain.Int64;
			case CorElementType.U8:			return appDomain.UInt64;
			case CorElementType.R4:			return appDomain.Single;
			case CorElementType.R8:			return appDomain.Double;
			case CorElementType.String:		return appDomain.String;
			case CorElementType.TypedByRef:	return appDomain.TypedReference;
			case CorElementType.I:			return appDomain.IntPtr;
			case CorElementType.U:			return appDomain.UIntPtr;
			case CorElementType.Object:		return appDomain.Object;
			default: return null;
			}
		}
开发者ID:GreenDamTan,项目名称:dnSpy,代码行数:23,代码来源:Eval.cs


示例7: ParseIntegerConstant

		static ulong? ParseIntegerConstant(CorElementType etype, string c, out string error) {
			error = null;
			long smin, smax;
			ulong max;
			switch (etype) {
			case CorElementType.Boolean:
				smin = 0;
				smax = 1;
				max = 1;
				break;
			case CorElementType.I:
				if (IntPtr.Size == 4)
					goto case CorElementType.I4;
				goto case CorElementType.I8;
			case CorElementType.U:
			case CorElementType.Ptr:
			case CorElementType.FnPtr:
				if (UIntPtr.Size == 4)
					goto case CorElementType.U4;
				goto case CorElementType.U8;
			case CorElementType.I1:
			case CorElementType.U1:
				smin = sbyte.MinValue;
				smax = sbyte.MaxValue;
				max = byte.MaxValue;
				break;
			case CorElementType.I2:
			case CorElementType.U2:
				smin = short.MinValue;
				smax = short.MaxValue;
				max = ushort.MaxValue;
				break;
			case CorElementType.I4:
			case CorElementType.U4:
				smin = int.MinValue;
				smax = int.MaxValue;
				max = uint.MaxValue;
				break;
			case CorElementType.I8:
			case CorElementType.U8:
				smin = long.MinValue;
				smax = long.MaxValue;
				max = ulong.MaxValue;
				break;
			default:
				return null;
			}
			ulong v = NumberVMUtils.ParseUInt64(c, 0, max, out error);
			if (string.IsNullOrEmpty(error))
				return v;

			v = (ulong)NumberVMUtils.ParseInt64(c, smin, smax, out error);
			if (string.IsNullOrEmpty(error))
				return v;

			return null;
		}
开发者ID:GreenDamTan,项目名称:dnSpy,代码行数:57,代码来源:ValueStringParser.cs


示例8: Convert

		static byte[] Convert(CorElementType etype, object c) {
			var tc = c == null ? TypeCode.Empty : Type.GetTypeCode(c.GetType());
			switch (tc) {
			case TypeCode.Boolean:
				if (etype == CorElementType.Boolean)
					return new byte[1] { (byte)((bool)c ? 1 : 0) };
				return null;

			case TypeCode.Char:
				if (etype == CorElementType.Char)
					return BitConverter.GetBytes((char)c);
				return null;

			case TypeCode.SByte:
				if (etype == CorElementType.I1)
					return new byte[1] { (byte)(sbyte)c };
				return null;

			case TypeCode.Int16:
				if (etype == CorElementType.I2)
					return BitConverter.GetBytes((short)c);
				return null;

			case TypeCode.Int32:
				if (etype == CorElementType.I4)
					return BitConverter.GetBytes((int)c);
				return null;

			case TypeCode.Int64:
				if (etype == CorElementType.I8)
					return BitConverter.GetBytes((long)c);
				return null;

			case TypeCode.Byte:
				if (etype == CorElementType.U1)
					return new byte[1] { (byte)c };
				return null;

			case TypeCode.UInt16:
				if (etype == CorElementType.U2)
					return BitConverter.GetBytes((ushort)c);
				return null;

			case TypeCode.UInt32:
				if (etype == CorElementType.U4)
					return BitConverter.GetBytes((uint)c);
				return null;

			case TypeCode.UInt64:
				if (etype == CorElementType.U8)
					return BitConverter.GetBytes((ulong)c);
				return null;

			case TypeCode.Single:
				if (etype == CorElementType.R4)
					return BitConverter.GetBytes((float)c);
				return null;

			case TypeCode.Double:
				if (etype == CorElementType.R8)
					return BitConverter.GetBytes((double)c);
				return null;
			}

			return null;
		}
开发者ID:GreenDamTan,项目名称:dnSpy,代码行数:66,代码来源:ValueStringParser.cs


示例9: GetDefaultValue

 public void GetDefaultValue(int mdToken, out long value, out int length, out CorElementType corElementType)
 {
     int num;
     _GetDefaultValue(this.m_metadataImport2, out MetadataArgs.Skip, mdToken, out value, out length, out num);
     corElementType = (CorElementType) ((byte) num);
 }
开发者ID:randomize,项目名称:VimConfig,代码行数:6,代码来源:MetadataImport.cs


示例10: ConvertUInt64

		static object ConvertUInt64(CorElementType etype, ulong v) {
			switch (etype) {
			case CorElementType.Boolean:
				return v != 0;
			case CorElementType.I:
				if (IntPtr.Size == 4)
					goto case CorElementType.I4;
				goto case CorElementType.I8;
			case CorElementType.I1:		return (sbyte)v;
			case CorElementType.I2:		return (short)v;
			case CorElementType.I4:		return (int)v;
			case CorElementType.I8:		return (long)v;
			case CorElementType.U:
				if (UIntPtr.Size == 4)
					goto case CorElementType.U4;
				goto case CorElementType.U8;
			case CorElementType.U1:		return (byte)v;
			case CorElementType.U2:		return (ushort)v;
			case CorElementType.U4:		return (uint)v;
			case CorElementType.U8:		return v;
			}
			return null;
		}
开发者ID:GreenDamTan,项目名称:dnSpy,代码行数:23,代码来源:ValueStringParser.cs


示例11: GetFieldConstant

		public unsafe static object GetFieldConstant(IMetaDataImport mdi, uint token, out CorElementType constantType) {
			constantType = CorElementType.End;
			if (mdi == null)
				return null;
			uint cchValue;
			IntPtr pValue;
			CorElementType constantTypeTmp;
			int hr = mdi.GetFieldProps(token, IntPtr.Zero, IntPtr.Zero, 0, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, new IntPtr(&constantTypeTmp), new IntPtr(&pValue), new IntPtr(&cchValue));
			if (hr < 0 || pValue == IntPtr.Zero)
				return null;
			constantType = constantTypeTmp;
			return ReadConstant(pValue, cchValue, constantType);
		}
开发者ID:arkanoid1,项目名称:dnSpy,代码行数:13,代码来源:MDAPI.cs


示例12: AddElementType

 private void AddElementType(CorElementType cvt)
 {
     if ((this.m_currSig + 1) > this.m_signature.Length)
     {
         this.m_signature = this.ExpandArray(this.m_signature);
     }
     this.m_signature[this.m_currSig++] = (byte) cvt;
 }
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:8,代码来源:SignatureHelper.cs


示例13: AddElementType

        private void AddElementType(CorElementType cvt)
        {
            // Adds an element to the signature.  A managed represenation of CorSigCompressElement
            if (m_currSig + 1 > m_signature.Length) 
                m_signature = ExpandArray(m_signature);

            m_signature[m_currSig++] = (byte)cvt;
        }
开发者ID:kouvel,项目名称:coreclr,代码行数:8,代码来源:SignatureHelper.cs


示例14: UnsafeGetValueAsType

        public Object UnsafeGetValueAsType(CorElementType type)
        {
            switch(type)
            {
                case CorElementType.ELEMENT_TYPE_BOOLEAN:
                    byte bValue=4; // just initialize to avoid compiler warnings
                    unsafe
                    {
                        Debug.Assert(this.Size==sizeof(byte));
                        this.GetValueInternal(new IntPtr(&bValue));
                    }
                    return (object) (bValue!=0);

                case CorElementType.ELEMENT_TYPE_CHAR:
                    char cValue='a'; // initialize to avoid compiler warnings
                    unsafe
                    {
                        Debug.Assert(this.Size==sizeof(char));
                        this.GetValueInternal(new IntPtr(&cValue));
                    }
                    return (object) cValue;

                case CorElementType.ELEMENT_TYPE_I1:
                    SByte i1Value=4;
                    unsafe
                    {
                        Debug.Assert(this.Size==sizeof(SByte));
                        this.GetValueInternal(new IntPtr(&i1Value));
                    }
                    return (object) i1Value;

                case CorElementType.ELEMENT_TYPE_U1:
                    Byte u1Value=4;
                    unsafe
                    {
                        Debug.Assert(this.Size==sizeof(Byte));
                        this.GetValueInternal(new IntPtr(&u1Value));
                    }
                    return (object) u1Value;

                case CorElementType.ELEMENT_TYPE_I2:
                    Int16 i2Value=4;
                    unsafe
                    {
                        Debug.Assert(this.Size==sizeof(Int16));
                        this.GetValueInternal(new IntPtr(&i2Value));
                    }
                    return (object) i2Value;

                case CorElementType.ELEMENT_TYPE_U2:
                    UInt16 u2Value=4;
                    unsafe
                    {
                        Debug.Assert(this.Size==sizeof(UInt16));
                        this.GetValueInternal(new IntPtr(&u2Value));
                    }
                    return (object) u2Value;

                case CorElementType.ELEMENT_TYPE_I:
                    IntPtr ipValue=IntPtr.Zero;
                    unsafe
                    {
                        Debug.Assert(this.Size==sizeof(IntPtr));
                        this.GetValueInternal(new IntPtr(&ipValue));
                    }
                    return (object) ipValue;

                case CorElementType.ELEMENT_TYPE_U:
                    UIntPtr uipValue=UIntPtr.Zero;
                    unsafe
                    {
                        Debug.Assert(this.Size==sizeof(UIntPtr));
                        this.GetValueInternal(new IntPtr(&uipValue));
                    }
                    return (object) uipValue;

                case CorElementType.ELEMENT_TYPE_I4:
                    Int32 i4Value=4;
                    unsafe
                    {
                        Debug.Assert(this.Size==sizeof(Int32));
                        this.GetValueInternal(new IntPtr(&i4Value));
                    }
                    return (object) i4Value;

                case CorElementType.ELEMENT_TYPE_U4:
                    UInt32 u4Value=4;
                    unsafe
                    {
                        Debug.Assert(this.Size==sizeof(UInt32));
                        this.GetValueInternal(new IntPtr(&u4Value));
                    }
                    return (object) u4Value;

                case CorElementType.ELEMENT_TYPE_I8:
                    Int64 i8Value=4;
                    unsafe
                    {
                        Debug.Assert(this.Size==sizeof(Int64));
                        this.GetValueInternal(new IntPtr(&i8Value));
//.........这里部分代码省略.........
开发者ID:Gravecorp,项目名称:ipydbg,代码行数:101,代码来源:Value.cs


示例15: GetDefaultValue

 [System.Security.SecurityCritical]  // auto-generated
 public String GetDefaultValue(int mdToken, out long value, out int length, out CorElementType corElementType) 
 { 
     int _corElementType; 
     String stringVal;
     stringVal = _GetDefaultValue(m_metadataImport2, mdToken, out value, out length, out _corElementType); 
     corElementType = (CorElementType)_corElementType;
     return stringVal;
 }
开发者ID:JokerMisfits,项目名称:linux-packaging-mono,代码行数:9,代码来源:mdimport.cs


示例16:

        int ICorDebugAppDomain2.GetArrayOrPointerType( CorElementType elementType, uint nRank, ICorDebugType pTypeArg, out ICorDebugType ppType )
        {
            ppType = null;

            return Utility.COM_HResults.S_OK;
        }
开发者ID:aura1213,项目名称:netmf-interpreter,代码行数:6,代码来源:CorDebugAppDomain.cs


示例17: InternalAddTypeToken

 private void InternalAddTypeToken(TypeToken clsToken, CorElementType CorType)
 {
     // Add a type token into signature. CorType will be either CorElementType.Class or CorElementType.ValueType
     AddElementType(CorType);
     AddToken(clsToken.Token);
 }
开发者ID:kouvel,项目名称:coreclr,代码行数:6,代码来源:SignatureHelper.cs


示例18: DebugType

		DebugType(Process process, ICorDebugType corType)
		{
			if (corType == null) throw new ArgumentNullException("corType");
			
			this.process = process;
			this.corType = corType;
			this.corElementType = (CorElementType)corType.Type;
			
			if (this.IsClass || this.IsValueType) {
				this.corClass = corType.Class;
				this.module = process.GetModule(corClass.Module);
				this.classProps = module.MetaData.GetTypeDefProps(corClass.Token);
			}
			
			if (this.IsClass || this.IsValueType || this.IsArray || this.IsPointer) {
				foreach(ICorDebugType t in corType.EnumerateTypeParameters().Enumerator) {
					typeArguments.Add(DebugType.Create(process, t));
				}
			}
			
			this.fullName = GetFullName();
		}
开发者ID:lisiynos,项目名称:pascalabcnet,代码行数:22,代码来源:DebugType.cs


示例19: DebuggerValue

		public DebuggerValue(Debugger debugger, CorValue value) {
			debugger.Dispatcher.VerifyAccess();
			this.debugger = debugger;
			CorValue = value;
			hashCode = value.GetHashCode();
			address = value.Address;
			size = value.Size;
			elementType = (CorElementType)value.ElementType;
			vflags = 0;
			if (value.IsGeneric)
				vflags |= VFlags.Generic;
			if (value.IsReference) {
				vflags |= VFlags.Reference;
				if (value.IsNull)
					vflags |= VFlags.Null;
			}
			if (value.IsHandle)
				vflags |= VFlags.Handle;
			if (value.IsArray)
				vflags |= VFlags.Array;
			if (value.IsBox)
				vflags |= VFlags.Box;
			if (value.IsString)
				vflags |= VFlags.String;
			if (value.IsObject) {
				vflags |= VFlags.Object;
				if (value.IsValueClass)
					vflags |= VFlags.ValueClass;
			}
			if (value.IsContext)
				vflags |= VFlags.Context;
			if (value.IsComObject)
				vflags |= VFlags.ComObject;
			if (value.IsExceptionObject)
				vflags |= VFlags.ExObject;
			if (value.IsHeap)
				vflags |= VFlags.Heap;
		}
开发者ID:manojdjoshi,项目名称:dnSpy,代码行数:38,代码来源:DebuggerValue.cs


示例20: CreateValue

 /** Create a Value to use it in a Function Evaluation. */
 public CorValue CreateValue(CorElementType type, CorClass managedClass)
 {
     ICorDebugValue v = null;
     m_eval.CreateValue (type, managedClass==null?null:managedClass.m_class, out v);
     return (v==null)?null:new CorValue (v);
 }
开发者ID:jredville,项目名称:ipydbg,代码行数:7,代码来源:Eval.cs



注:本文中的CorElementType类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# CorFrame类代码示例发布时间:2022-05-24
下一篇:
C# CopySnapshotRequestMarshaller类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap