in ComObject.cs [110:116]
public static T As<T>(object comObject) where T : ComObject
{
using (var tempObject = new ComObject(Marshal.GetIUnknownForObject(comObject)))
{
return tempObject.QueryInterface<T>();
}
}