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


C# Object.getClass方法代码示例

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


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

示例1: getInstance

        /**
         * Factory method that performs validation.
         * <p>
         * Creates a Factory that will return a clone of the same prototype object
         * each time the factory is used. The prototype will be cloned using one of these
         * techniques (in order):
         * <ul>
         * <li>public clone method
         * <li>public copy constructor
         * <li>serialization clone
         * <ul>
         *
         * @param prototype  the object to clone each time in the factory
         * @return the <code>prototype</code> factory
         * @throws IllegalArgumentException if the prototype is null
         * @throws IllegalArgumentException if the prototype cannot be cloned
         */
        public static Factory getInstance(Object prototype)
        {
            if (prototype == null)
            {
                return ConstantFactory.NULL_INSTANCE;
            }
            try
            {
                java.lang.reflect.Method method = prototype.getClass().getMethod("clone", (java.lang.Class[])null);
                return new PrototypeCloneFactory(prototype, method);

            }
            catch (java.lang.NoSuchMethodException ex)
            {
                try
                {
                    prototype.getClass().getConstructor(new java.lang.Class[] { prototype.getClass() });
                    return new InstantiateFactory(
                        prototype.getClass(),
                        new java.lang.Class[] { prototype.getClass() },
                        new Object[] { prototype });

                }
                catch (java.lang.NoSuchMethodException ex2)
                {
                    if (prototype is java.io.Serializable)
                    {
                        return new PrototypeSerializationFactory((java.io.Serializable)prototype);
                    }
                }
            }
            throw new java.lang.IllegalArgumentException("The prototype must be cloneable via a public clone method");
        }
开发者ID:gadfly,项目名称:nofs,代码行数:50,代码来源:org.apache.commons.collections.functors.PrototypeFactory.cs

示例2: equals

        public override bool equals(Object obj)
        {
            if (this == obj) {
            return true;
            }
            if (obj == null) {
            return false;
            }
            if (getClass() != obj.getClass()) {
            return false;
            }
            TypingUser other = (TypingUser) obj;
            if (conversationUri == null) {
            if (other.conversationUri != null) {
                return false;
            }
            } else if (!conversationUri.equals(other.conversationUri)) {
            return false;
            }
            if (userUri == null) {
            if (other.userUri != null) {
                return false;
            }
            } else if (!userUri.equals(other.userUri)) {
            return false;
            }

            if (!exists.equals(other.exists)) {
            return false;
            }

            return true;
        }
开发者ID:ThomasJacob,项目名称:Thomas-IM,代码行数:33,代码来源:TypingUser.cs

示例3: equals

        public override bool equals(Object obj)
        {
            if (this == obj) {
            return true;
            }
            if (obj == null) {
            return false;
            }
            if (getClass() != obj.getClass()) {
            return false;
            }
            Contact other = (Contact) obj;
            if (uri == null) {
            if (other.uri != null) {
                return false;
            }
            } else if (!uri.equals(other.uri)) {
            return false;
            }

            if (!exists.equals(other.exists)) {
            return false;
            }

            return true;
        }
开发者ID:ThomasJacob,项目名称:Thomas-IM,代码行数:26,代码来源:Contact.cs

示例4: Equals

        public override bool Equals(Object anotherState)
        {

            if (this == anotherState)
            {
                return true;
            }
            if ((anotherState == null)
                    || (this.getClass() != anotherState.getClass()))
            {
                return false;
            }
            GameState another = (GameState)anotherState;
            Set keySet1 = state.keySet();
            Iterator i = keySet1.iterator();
            Iterator j = another.state.keySet().iterator();
            while (i.hasNext())
            {
                String key = (String)i.next();
                bool keymatched = false;
                bool valueMatched = false;
                while (j.hasNext())
                {
                    String key2 = (String)j.next();
                    if (key.Equals(key2))
                    {
                        keymatched = true;
                        if (state.get(key).Equals(another.state.get(key2)))
                        {
                            valueMatched = true;
                        }
                        break;
                    }
                }
                if (!((keymatched) && valueMatched))
                {
                    return false;
                }
            }
            return true;
        }
开发者ID:PaulMineau,项目名称:AIMA.Net,代码行数:41,代码来源:GameState.cs

示例5: getIterator

 public Iterator<?> getIterator(Object obj, JexlInfo info) {
         if (obj instanceof Iterator<?>) {
             return ((Iterator <?>) obj);
         }
         if (obj.getClass().isArray())
         {
             return new ArrayIterator(obj);
         }
         if (obj instanceof Map<?, ?>) {
             return ((Map <?, ?>) obj).values().iterator();
         }
         if (obj instanceof Enumeration<?>) {
             return new EnumerationIterator<Object>((Enumeration<Object>)obj);
         }
         if (obj instanceof Iterable<?>) {
             return ((Iterable <?>) obj).iterator();
         }
         try
         {
             // look for an iterator() method to support the JDK5 Iterable
             // interface or any user tools/DTOs that want to work in
             // foreach without implementing the Collection interface
             AbstractExecutor.Method it = getMethodExecutor(obj, "iterator", null);
             if (it != null && Iterator.class.isAssignableFrom(it.getReturnType())) {
开发者ID:rnrn,项目名称:Jade4Net,代码行数:24,代码来源:UberspectImpl.cs

示例6: equals

        public override bool equals(Object obj)
        {
            if (this == obj) {
            return true;
            }
            if (obj == null) {
            return false;
            }
            if (getClass() != obj.getClass()) {
            return false;
            }
            User other = (User) obj;
            if (avatarHash == null) {
            if (other.avatarHash != null) {
                return false;
            }
            } else if (!avatarHash.equals(other.avatarHash)) {
            return false;
            }
            if (currentStatus == null) {
            if (other.currentStatus != null) {
                return false;
            }
            } else if (!currentStatus.equals(other.currentStatus)) {
            return false;
            }
            if (dateOfBirth != (other.dateOfBirth)) {
            return false;
            }
            if (displayName == null) {
            if (other.displayName != null) {
                return false;
            }
            } else if (!displayName.equals(other.displayName)) {
            return false;
            }
            if (ecoid == null) {
            if (other.ecoid != null) {
                return false;
            }
            } else if (!ecoid.equals(other.ecoid)) {
            return false;
            }
            if (emailAddress == null) {
            if (other.emailAddress != null) {
                return false;
            }
            } else if (!emailAddress.equals(other.emailAddress)) {
            return false;
            }
            if (gender == null) {
            if (other.gender != null) {
                return false;
            }
            } else if (!gender.equals(other.gender)) {
            return false;
            }
            if (installedApps == null) {
            if (other.installedApps != null) {
                return false;
            }
            } else if (!installedApps.equals(other.installedApps)) {
            return false;
            }
            if (location == null) {
            if (other.location != null) {
                return false;
            }
            } else if (!location.equals(other.location)) {
            return false;
            }
            if (maxVcardSize != (other.maxVcardSize)) {
            return false;
            }
            if (nickname == null) {
            if (other.nickname != null) {
                return false;
            }
            } else if (!nickname.equals(other.nickname)) {
            return false;
            }
            if (nowPlayingMessage == null) {
            if (other.nowPlayingMessage != null) {
                return false;
            }
            } else if (!nowPlayingMessage.equals(other.nowPlayingMessage)) {
            return false;
            }
            if (personalMessage == null) {
            if (other.personalMessage != null) {
                return false;
            }
            } else if (!personalMessage.equals(other.personalMessage)) {
            return false;
            }
            if (personalMessageTimestamp != (other.personalMessageTimestamp)) {
            return false;
            }
            if (personalMessageTpaUri == null) {
            if (other.personalMessageTpaUri != null) {
//.........这里部分代码省略.........
开发者ID:ThomasJacob,项目名称:Thomas-IM,代码行数:101,代码来源:User.cs

示例7: Write

 /// <summary>
 /// This <c>write</c> method is used to convert the provided
 /// object to an XML element. This creates a child node from the
 /// given <c>OutputNode</c> object. Once this child element
 /// is created it is populated with the fields of the source object
 /// in accordance with the XML schema class.
 /// </summary>
 /// <param name="source">
 /// this is the object to be serialized to XML
 /// </param>
 /// <param name="expect">
 /// this is the class that is expected to be written
 /// </param>
 /// <param name="name">
 /// this is the name of the root annotation used
 /// </param>
 public void Write(OutputNode node, Object source, Class expect, String name) {
    OutputNode child = node.getChild(name);
    Type type = GetType(expect);
    if(source != null) {
       Class actual = source.getClass();
       if(!context.SetOverride(type, source, child)) {
          Converter convert = GetComposite(actual);
          Decorator decorator = GetDecorator(actual);
          decorator.decorate(child);
          convert.Write(child, source);
       }
    }
    child.commit();
 }
开发者ID:ngallagher,项目名称:simplexml,代码行数:30,代码来源:Traverser.cs

示例8: size

 /**
  * Gets the size of the collection/iterator specified.
  * <p>
  * This method can handles objects as follows
  * <ul>
  * <li>Collection - the collection size
  * <li>Map - the map size
  * <li>Array - the array size
  * <li>Iterator - the number of elements remaining in the iterator
  * <li>Enumeration - the number of elements remaining in the enumeration
  * </ul>
  *
  * @param object  the object to get the size of
  * @return the size of the specified collection
  * @throws IllegalArgumentException thrown if object is not recognised or null
  * @since Commons Collections 3.1
  */
 public static int size(Object obj)
 {
     int total = 0;
     if (obj is java.util.Map<Object, Object>)
     {
         total = ((java.util.Map<Object, Object>)obj).size();
     }
     else if (obj is java.util.Collection<Object>)
     {
         total = ((java.util.Collection<Object>)obj).size();
     }
     else if (obj is Object[])
     {
         total = ((Object[])obj).Length;
     }
     else if (obj is java.util.Iterator<Object>)
     {
         java.util.Iterator<Object> it = (java.util.Iterator<Object>)obj;
         while (it.hasNext())
         {
             total++;
             it.next();
         }
     }
     else if (obj is java.util.Enumeration<Object>)
     {
         java.util.Enumeration<Object> it = (java.util.Enumeration<Object>)obj;
         while (it.hasMoreElements())
         {
             total++;
             it.nextElement();
         }
     }
     else if (obj == null)
     {
         throw new java.lang.IllegalArgumentException("Unsupported object type: null");
     }
     else
     {
         try
         {
             total = java.lang.reflect.Array.getLength(obj);
         }
         catch (java.lang.IllegalArgumentException ex)
         {
             throw new java.lang.IllegalArgumentException("Unsupported object type: " + obj.getClass().getName());
         }
     }
     return total;
 }
开发者ID:gadfly,项目名称:nofs,代码行数:67,代码来源:org.apache.commons.collections.CollectionUtils.cs

示例9: get


//.........这里部分代码省略.........
  * <p>
  * The supported types, and associated semantics are:
  * <ul>
  * <li> Map -- the value returned is the <code>Map.Entry</code> in position
  *      <code>index</code> in the map's <code>entrySet</code> iterator,
  *      if there is such an entry.</li>
  * <li> List -- this method is equivalent to the list's get method.</li>
  * <li> Array -- the <code>index</code>-th array entry is returned,
  *      if there is such an entry; otherwise an <code>IndexOutOfBoundsException</code>
  *      is thrown.</li>
  * <li> Collection -- the value returned is the <code>index</code>-th object
  *      returned by the collection's default iterator, if there is such an element.</li>
  * <li> Iterator or Enumeration -- the value returned is the
  *      <code>index</code>-th object in the Iterator/Enumeration, if there
  *      is such an element.  The Iterator/Enumeration is advanced to
  *      <code>index</code> (or to the end, if <code>index</code> exceeds the
  *      number of entries) as a side effect of this method.</li>
  * </ul>
  *
  * @param object  the object to get a value from
  * @param index  the index to get
  * @return the object at the specified index
  * @throws IndexOutOfBoundsException if the index is invalid
  * @throws IllegalArgumentException if the object type is invalid
  */
 public static Object get(Object obj, int index)
 {
     if (index < 0)
     {
         throw new java.lang.IndexOutOfBoundsException("Index cannot be negative: " + index);
     }
     if (obj is java.util.Map<Object, Object>)
     {
         java.util.Map<Object, Object> map = (java.util.Map<Object, Object>)obj;
         java.util.Iterator<Object> iterator = (java.util.Iterator<Object>)map.entrySet().iterator();
         return get(iterator, index);
     }
     else if (obj is java.util.List<Object>)
     {
         return ((java.util.List<Object>)obj).get(index);
     }
     else if (obj is Object[])
     {
         return ((Object[])obj)[index];
     }
     else if (obj is java.util.Iterator<Object>)
     {
         java.util.Iterator<Object> it = (java.util.Iterator<Object>)obj;
         while (it.hasNext())
         {
             index--;
             if (index == -1)
             {
                 return it.next();
             }
             else
             {
                 it.next();
             }
         }
         throw new java.lang.IndexOutOfBoundsException("Entry does not exist: " + index);
     }
     else if (obj is java.util.Collection<Object>)
     {
         java.util.Iterator<Object> iterator = ((java.util.Collection<Object>)obj).iterator();
         return get(iterator, index);
     }
     else if (obj is java.util.Enumeration<Object>)
     {
         java.util.Enumeration<Object> it = (java.util.Enumeration<Object>)obj;
         while (it.hasMoreElements())
         {
             index--;
             if (index == -1)
             {
                 return it.nextElement();
             }
             else
             {
                 it.nextElement();
             }
         }
         throw new java.lang.IndexOutOfBoundsException("Entry does not exist: " + index);
     }
     else if (obj == null)
     {
         throw new java.lang.IllegalArgumentException("Unsupported object type: null");
     }
     else
     {
         try
         {
             return java.lang.reflect.Array.get(obj, index);
         }
         catch (java.lang.IllegalArgumentException ex)
         {
             throw new java.lang.IllegalArgumentException("Unsupported object type: " + obj.getClass().getName());
         }
     }
 }
开发者ID:gadfly,项目名称:nofs,代码行数:101,代码来源:org.apache.commons.collections.CollectionUtils.cs

示例10: getInvocationHandler

        /**
         * Returns the invocation handler of the specified proxy instance.
         *
         * @param proxy
         *            the proxy instance
         * @return the invocation handler of the specified proxy instance
         * @throws IllegalArgumentException
         *                if the supplied {@code proxy} is not a proxy object
         */
        public static InvocationHandler getInvocationHandler(Object proxy)
        {
            //throws IllegalArgumentException {

            if (isProxyClass(proxy.getClass())) {
            return ((Proxy) proxy).h;
            }

            throw new IllegalArgumentException("not a proxy instance"); //$NON-NLS-1$
        }
开发者ID:sailesh341,项目名称:JavApi,代码行数:19,代码来源:Proxy.cs

示例11: Write

 /// <summary>
 /// This <c>write</c> method is used to perform serialization of
 /// the given source object. Serialization is performed by appending
 /// elements and attributes from the source object to the provided XML
 /// element object. How the objects contacts are serialized is
 /// determined by the XML schema class that the source object is an
 /// instance of. If a required contact is null an exception is thrown.
 /// </summary>
 /// <param name="source">
 /// this is the source object to be serialized
 /// </param>
 /// <param name="node">
 /// the XML element the object is to be serialized to
 /// </param>
 public void Write(OutputNode node, Object source) {
    Class type = source.getClass();
    Schema schema = context.GetSchema(type);
    Caller caller = schema.GetCaller();
    try {
       if(schema.IsPrimitive()) {
          primitive.Write(node, source);
       } else {
          caller.persist(source);
          Write(node, source, schema);
       }
    } finally {
       caller.complete(source);
    }
 }
开发者ID:ngallagher,项目名称:simplexml,代码行数:29,代码来源:Composite.cs

示例12: Validate

 /// <summary>
 /// This method checks to see if there are any <c>Label</c>
 /// objects remaining in the provided map that are required. This is
 /// used when deserialization is performed to ensure the the XML
 /// element deserialized contains sufficient details to satisfy the
 /// XML schema class annotations. If there is a required label that
 /// remains it is reported within the exception thrown.
 /// </summary>
 /// <param name="map">
 /// this is the map to check for remaining labels
 /// </param>
 /// <param name="source">
 /// this is the object that has been deserialized
 /// </param>
 public void Validate(InputNode node, LabelMap map, Object source) {
    Position line = node.getPosition();
    Class expect = type.Type;
    if(source != null) {
       expect = source.getClass();
    }
    for(Label label : map) {
       if(label.isRequired() && revision.IsEqual()) {
          throw new ValueRequiredException("Unable to satisfy %s for %s at %s", label, expect, line);
       }
       Object value = label.getEmpty(context);
       if(value != null) {
          criteria.Set(label, value);
       }
    }
 }
开发者ID:ngallagher,项目名称:simplexml,代码行数:30,代码来源:Composite.cs

示例13: Read

 /// <summary>
 /// This <c>read</c> method is used to perform deserialization
 /// of the provided node object using a delegate converter. This is
 /// typically another <c>Composite</c> converter, or if the
 /// node is an attribute a <c>Primitive</c> converter. When
 /// the delegate converter has completed the deserialized value is
 /// assigned to the contact.
 /// </summary>
 /// <param name="node">
 /// this is the node that contains the contact value
 /// </param>
 /// <param name="source">
 /// the type of the object that is being deserialized
 /// </param>
 /// <param name="label">
 /// this is the label used to create the converter
 /// </param>
 public Object Read(InputNode node, Object source, Label label) {
    Object object = ReadObject(node, source, label);
    if(object == null) {
       Position line = node.getPosition();
       Class expect = type.Type;
       if(source != null) {
          expect = source.getClass();
       }
       if(label.isRequired() && revision.IsEqual()) {
          throw new ValueRequiredException("Empty value for %s in %s at %s", label, expect, line);
       }
    } else {
       if(object != label.getEmpty(context)) {
          criteria.Set(label, object);
       }
    }
    return object;
 }
开发者ID:ngallagher,项目名称:simplexml,代码行数:35,代码来源:Composite.cs

示例14: ReadElement

 /// <summary>
 /// This <c>readElement</c> method is used for deserialization
 /// of the provided node object using a delegate converter. This is
 /// typically another <c>Composite</c> converter, or if the
 /// node is an attribute a <c>Primitive</c> converter. When
 /// the delegate converter has completed the deserialized value is
 /// assigned to the contact.
 /// </summary>
 /// <param name="node">
 /// this is the node that contains the contact value
 /// </param>
 /// <param name="source">
 /// the type of the object that is being deserialized
 /// </param>
 /// <param name="map">
 /// this is the map that contains the label objects
 /// </param>
 public void ReadElement(InputNode node, Object source, LabelMap map) {
    String name = node.GetName();
    Label label = map.take(name);
    if(label == null) {
       label = criteria.Get(name);
    }
    if(label == null) {
       Position line = node.getPosition();
       Class type = source.getClass();
       if(map.IsStrict(context) && revision.IsEqual()) {
          throw new ElementException("Element '%s' does not have a match in %s at %s", name, type, line);
       } else {
          node.skip();
       }
    } else {
       Read(node, source, label);
    }
 }
开发者ID:ngallagher,项目名称:simplexml,代码行数:35,代码来源:Composite.cs

示例15: WriteText

 /// <summary>
 /// This write method is used to write the text contact from the
 /// provided source object to the XML element. This takes the text
 /// value from the source object and writes it to the single contact
 /// marked with the <c>Text</c> annotation. If the value is
 /// null and the contact value is required an exception is thrown.
 /// </summary>
 /// <param name="source">
 /// this is the source object to be serialized
 /// </param>
 /// <param name="node">
 /// this is the XML element to write text value to
 /// </param>
 /// <param name="schema">
 /// this is used to track the referenced elements
 /// </param>
 public void WriteText(OutputNode node, Object source, Schema schema) {
    Label label = schema.getText();
    if(label != null) {
       Contact contact = label.getContact();
       Object value = contact.Get(source);
       Class type = source.getClass();
       if(value == null) {
          value = label.getEmpty(context);
       }
       if(value == null && label.isRequired()) {
          throw new TextException("Value for %s is null for %s", label, type);
       }
       WriteText(node, value, label);
    }
 }
开发者ID:ngallagher,项目名称:simplexml,代码行数:31,代码来源:Composite.cs


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