Ну, не совсем.Набор типов, совместимых с oleauto, довольно ограничен, поэтому неудивительно, что существует сопоставление «один к одному» с управляемыми типами (значениями).Но важные типы oleauto, такие как VARIANT, SAFEARRAY, IDispatch * и HRESULT, не имеют прямого сопоставления.То, что они действительно могут быть сопоставлены, соответственно, объектам, System.Array, __ComObject и System.Exception, благодаря COM-взаимодействию, встроенному в CLR.Это холодный жесткий код, который никак не прописан в CTS.