예제 #1
0
 /// <summary>
 /// Returns a SysDOM field descriptor for a particular instance
 /// </summary>
 /// <param name="inst">instance of class containing the field</param>
 /// <returns>SysDOM field descriptor</returns>
 public FieldDescriptor GetDescriptor(object inst)
 {
     if (inst == null)
     {
         if (_nullInstDesc == null)
         {
             _nullInstDesc = new CILFieldDescriptor(Field, null)
             {
                 IsConstant = !IsWritten && !IsSubMutated
             };
         }
         return(_nullInstDesc);
     }
     else
     {
         FieldDescriptor result;
         if (!_descMap.TryGetValue(inst, out result))
         {
             result = new CILFieldDescriptor(Field, inst)
             {
                 IsConstant = !IsWritten && !IsSubMutated
             };
             _descMap[inst] = result;
         }
         return(result);
     }
 }
예제 #2
0
 /// <summary>
 /// Returns a SysDOM field descriptor for a particular instance
 /// </summary>
 /// <param name="inst">instance of class containing the field</param>
 /// <returns>SysDOM field descriptor</returns>
 public FieldDescriptor GetDescriptor(object inst)
 {
     if (inst == null)
     {
         if (_nullInstDesc == null)
         {
             _nullInstDesc = new CILFieldDescriptor(Field, null)
             {
                 IsConstant = !IsWritten && !IsSubMutated
             };
         }
         return _nullInstDesc;
     }
     else
     {
         FieldDescriptor result;
         if (!_descMap.TryGetValue(inst, out result))
         {
             result = new CILFieldDescriptor(Field, inst)
             {
                 IsConstant = !IsWritten && !IsSubMutated
             };
             _descMap[inst] = result;
         }
         return result;
     }
 }