当前位置: 首页>>代码示例>>C#>>正文


C# DObject.GetPropertyDescriptorByFieldId方法代码示例

本文整理汇总了C#中DObject.GetPropertyDescriptorByFieldId方法的典型用法代码示例。如果您正苦于以下问题:C# DObject.GetPropertyDescriptorByFieldId方法的具体用法?C# DObject.GetPropertyDescriptorByFieldId怎么用?C# DObject.GetPropertyDescriptorByFieldId使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在DObject的用法示例。


在下文中一共展示了DObject.GetPropertyDescriptorByFieldId方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: GetInheritFieldUsingIC

    public static void GetInheritFieldUsingIC(DObject obj, int fieldId, ref DValue v, int mapId, int fieldIndex, int inheritObjectCacheIndex)
    {

      
#if __STAT__PD 
      if (mdr.Runtime.Instance.Configuration.ProfileStats)
      {
        mdr.Runtime.Instance.Counters.GetCounter("Inh IC calls").Count++;
      } 
#endif
      if (mapId == obj.MapId)
      {
        DObject patentObj = JSRuntime._inheritPropertyObjectCache[inheritObjectCacheIndex];
        if (patentObj != null)
        {
          v = patentObj.Fields[fieldIndex];
#if __STAT__PD 
          if (mdr.Runtime.Instance.Configuration.ProfileStats)
          {
            mdr.Runtime.Instance.Counters.GetCounter("Inh IC hits").Count++;
            mdr.Runtime.Instance.Counters.GetCounter("Inh IC hit oindex_" + inheritObjectCacheIndex).Count++;
            mdr.Runtime.Instance.Counters.GetCounter("Inh IC hit findex_" + fieldIndex).Count++;
          }
#endif
        }
      }
      else
      {
        obj.GetPropertyDescriptorByFieldId(fieldId).Get(obj, ref v);
#if __STAT__PD 
        if (mdr.Runtime.Instance.Configuration.ProfileStats)
        {
          mdr.Runtime.Instance.Counters.GetCounter("Inh IC misses").Count++;
        }
#endif
      }
    }
开发者ID:reshadi2,项目名称:mcjs,代码行数:37,代码来源:Internals.cs

示例2: UpdateMapProfileForWrite

 public static void UpdateMapProfileForWrite(DObject obj, mjr.CodeGen.Profiler profiler, int profileIndex, int fieldId, PropertyMap oldMap)
 {
   if (profiler != null)
   {
     if (obj.Map == oldMap) 
     {
       PropertyDescriptor pd = obj.GetPropertyDescriptorByFieldId(fieldId);
       //          obj.GetPropertyDescriptor
         //          Trace.WriteLine("YYY");
         profiler.GetOrAddMapNodeProfile(profileIndex).UpdateNodeProfile(oldMap, pd);
     }
   }
 }
开发者ID:reshadi2,项目名称:mcjs,代码行数:13,代码来源:Internals.cs

示例3: GetFieldUsingIC

    public static void GetFieldUsingIC(DObject obj, int fieldId, ref DValue v, int mapId, int fieldIndex)
    {
#if __STAT__PD 
      if (mdr.Runtime.Instance.Configuration.ProfileStats)
      {
        mdr.Runtime.Instance.Counters.GetCounter("IC calls").Count++;
      }
#endif
      if (mapId == obj.MapId)
      {
        v = obj.Fields[fieldIndex];
#if __STAT__PD 
        if (mdr.Runtime.Instance.Configuration.ProfileStats)
        {
          mdr.Runtime.Instance.Counters.GetCounter("IC hit").Count++;
          mdr.Runtime.Instance.Counters.GetCounter("IC hit findex_" + fieldIndex).Count++;
        }
#endif
      }
      else
      {
        obj.GetPropertyDescriptorByFieldId(fieldId).Get(obj, ref v);
#if __STAT__PD 
        if (mdr.Runtime.Instance.Configuration.ProfileStats)
        {
          mdr.Runtime.Instance.Counters.GetCounter("IC miss").Count++;
        }
#endif
      }
    }
开发者ID:reshadi2,项目名称:mcjs,代码行数:30,代码来源:Internals.cs


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