Let\'s say I have a type, MyType. I want to do the following:
If i understand your question correctly, this is what you are trying to do. If not, please explain further.
public class MyType : ISomeInterface
{
}
MyType o = new MyType();
if(o is ISomeInterface)
{
}
edit: if you change your question, please add the fact that you edited..because now my answer looks like it doesn't belong.
In that case, here is a very large LINQ
var item = typeof(MyType).GetInterfaces()
.Where(x => x.IsGenericType && x.GetGenericTypeDefinition() == typeof(IList<>))
.Select(t => t.GetGenericArguments().First())
.FirstOrDefault();
if( item != null )
//it has a type