/// <summary> /// Returns <see langword="true"/> if this object's type is equivalent to the given class as a C# type, and <see langword="false"/> if they are not. /// </summary> /// <param name="obj"></param> /// <param name="classEquivalent"></param> /// <returns></returns> public static bool IsA(this object obj, java.lang.Class classEquivalent) { Type objectType = obj.GetType(); Type eqType = classEquivalent.EquivalentType(); return(objectType.Equals(eqType)); }
/// <summary> /// Returns <see langword="true"/> if this class is equivalent to the given C# type, and <see langword="false"/> if it is not.<para/> /// This should be used when the instance is a java type via some form of reflection or is passed in as a literal class. /// </summary> /// <param name="javaClass"></param> /// <param name="objectType"></param> /// <returns></returns> public static bool IsA(this java.lang.Class javaClass, Type objectType) { return(javaClass.EquivalentType()?.Equals(objectType) ?? false); }