<p>I know of <code>is</code> and <code>as</code> for <code>instanceof</code>, but what about the reflective <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html#isInstance(java.lang.Object)" rel="noreferrer">isInstance()</a> method?</p>

The equivalent of Java’s
```
obj.getClass().isInstance(otherObj)
```
in C# is as follows:
```
```
bool result = obj.GetType().IsAssignableFrom(otherObj.GetType());
```
```
Note that while both Java and C# work on the runtime type object (Java
```
java.lang.Class
```
≣ C#
```
System.Type
```
) of an
```
obj
```
(via
```
.getClass()
```
vs
```
.getType()
```
), Java’s
```
isInstance
```
takes an object as its argument, whereas C#’s
```
IsAssignableFrom
```
expects another
```
System.Type
```
object.