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


C# Descriptor.SetField方法代码示例

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


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

示例1: CreateMBeanAttributeInfo

 public MBeanAttributeInfo CreateMBeanAttributeInfo(PropertyInfo info)
 {
     Descriptor descriptor = new Descriptor();
      OpenType openType = OpenType.CreateOpenType(info.PropertyType);
      descriptor.SetField(OpenTypeDescriptor.Field, openType);
      object[] tmp = info.GetCustomAttributes(typeof(OpenMBeanAttributeAttribute), false);
      if (tmp.Length > 0)
      {
     OpenMBeanAttributeAttribute attr = (OpenMBeanAttributeAttribute)tmp[0];
     if (attr.LegalValues != null && (attr.MinValue != null || attr.MaxValue != null))
     {
        throw new OpenDataException("Cannot specify both min/max values and legal values.");
     }
     IComparable defaultValue = (IComparable)attr.DefaultValue;
     OpenInfoUtils.ValidateDefaultValue(openType, defaultValue);
     descriptor.SetField(DefaultValueDescriptor.Field, defaultValue);
     if (attr.LegalValues != null)
     {
        OpenInfoUtils.ValidateLegalValues(openType, attr.LegalValues);
        descriptor.SetField(LegalValuesDescriptor.Field, attr.LegalValues);
     }
     else
     {
        OpenInfoUtils.ValidateMinMaxValue(openType, defaultValue, attr.MinValue, attr.MaxValue);
        descriptor.SetField(MinValueDescriptor.Field, attr.MinValue);
        descriptor.SetField(MaxValueDescriptor.Field, attr.MaxValue);
     }
      }
      return new MBeanAttributeInfo(info.Name, InfoUtils.GetDescrition(info, info, "MBean attribute"), openType.Representation.AssemblyQualifiedName,
     info.CanRead, info.CanWrite, descriptor);
 }
开发者ID:SzymonPobiega,项目名称:NetMX,代码行数:31,代码来源:OpenMBeanBeanInfoFactory.cs

示例2: GetDescriptorFromFieldValues

 protected Descriptor GetDescriptorFromFieldValues()
 {
     Descriptor descriptor = new Descriptor();
      if (Field != null)
      {
     foreach (FeatureDescriptorTypeField field in Field)
     {
        descriptor.SetField(field.Name, field.Value.Deserialize());
     }
      }
      return descriptor;
 }
开发者ID:SzymonPobiega,项目名称:NetMX,代码行数:12,代码来源:FeatureDescriptorType.cs

示例3: CreateMBeanOperationInfo

 public MBeanOperationInfo CreateMBeanOperationInfo(MethodInfo info)
 {
     Descriptor descriptor = new Descriptor();
      object[] attrTmp = info.GetCustomAttributes(typeof(OpenMBeanOperationAttribute), false);
      if (attrTmp.Length == 0)
      {
     throw new OpenDataException("Open MBean operation have to have its impact specified.");
      }
      OpenMBeanOperationAttribute attr = (OpenMBeanOperationAttribute)attrTmp[0];
      if (attr.Impact == OperationImpact.Unknown)
      {
     throw new OpenDataException("Open MBean operation have to have its impact specified.");
      }
      OpenType openType = info.ReturnType != null ? OpenType.CreateOpenType(info.ReturnType) : SimpleType.Void;
      descriptor.SetField(OpenTypeDescriptor.Field, openType);
      return new MBeanOperationInfo(info.Name, InfoUtils.GetDescrition(info, info, "MBean operation"),
                                openType.Representation.AssemblyQualifiedName,
                                info.GetParameters().Select(x => CreateMBeanParameterInfo(x)), attr.Impact,
                                descriptor);
 }
开发者ID:SzymonPobiega,项目名称:NetMX,代码行数:20,代码来源:OpenMBeanBeanInfoFactory.cs

示例4: ProxyBean

        public ProxyBean(MBeanInfo originalBeanInfo, ObjectName originalName, OpenTypeCache typeCache)
        {
            _originalName = originalName;
             _typeCache = typeCache;

             List<MBeanAttributeInfo> attributes = new List<MBeanAttributeInfo>();
             List<MBeanOperationInfo> operations = new List<MBeanOperationInfo>();
             List<MBeanConstructorInfo> constructors = new List<MBeanConstructorInfo>();

             foreach (MBeanAttributeInfo attributeInfo in originalBeanInfo.Attributes)
             {
            if (attributeInfo.Readable)
            {
               Type attributeType = Type.GetType(attributeInfo.Type, true);
               OpenType mappedType = _typeCache.MapType(attributeType);
               if (mappedType != null)
               {
                  Descriptor descriptor = new Descriptor(); //TODO: Copty fields
                  descriptor.SetField(OpenTypeDescriptor.Field, mappedType);
                  MBeanAttributeInfo openInfo = new MBeanAttributeInfo(
                     attributeInfo.Name, attributeInfo.Description, mappedType.Representation.AssemblyQualifiedName,
                     attributeInfo.Readable, false, descriptor);
                  attributes.Add(openInfo);
                  _attributeTypes[attributeInfo.Name] = new OpenAndClrType(attributeType, mappedType);
               }
            }
             }
             foreach (MBeanOperationInfo operationInfo in originalBeanInfo.Operations)
             {
            Type returnType = Type.GetType(operationInfo.ReturnType, true);
            OpenType mappedReturnType = _typeCache.MapType(returnType);
            if (mappedReturnType == null)
            {
               continue;
            }
            Descriptor descriptor = new Descriptor();
            descriptor.SetField(OpenTypeDescriptor.Field, mappedReturnType);
            bool success = true;
            List<MBeanParameterInfo> openParameters = new List<MBeanParameterInfo>();
            foreach (MBeanParameterInfo parameterInfo in operationInfo.Signature)
            {
               OpenType mappedParamType = _typeCache.MapType(Type.GetType(parameterInfo.Type, true));
               if (mappedParamType == null || mappedParamType.Kind != OpenTypeKind.SimpleType)
               {
                  success = false;
                  break;
               }
               Descriptor paramDescriptor = new Descriptor(); //TODO: Copy fields
               paramDescriptor.SetField(OpenTypeDescriptor.Field, mappedParamType);
               openParameters.Add(new MBeanParameterInfo(parameterInfo.Name, parameterInfo.Description,
                                                         mappedParamType.Representation.AssemblyQualifiedName,
                                                         paramDescriptor));
            }
            if (!success)
            {
               continue;
            }
            MBeanOperationInfo openInfo = new MBeanOperationInfo(operationInfo.Name, operationInfo.Description,
                                                                 mappedReturnType.Representation.AssemblyQualifiedName,
                                                                 openParameters, operationInfo.Impact, descriptor);
            operations.Add(openInfo);
            _operationReturnTypes[operationInfo.Name] = new OpenAndClrType(returnType, mappedReturnType);
             }

             _info = new MBeanInfo(originalBeanInfo.ClassName, originalBeanInfo.Description,
                                          attributes, constructors, operations, originalBeanInfo.Notifications);
        }
开发者ID:SzymonPobiega,项目名称:NetMX,代码行数:67,代码来源:ProxyBean.cs


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