В проекте расширения VS я пытаюсь создать отображение потоков процесса, приведенных как EnvDTE.Thread (для доступа к методам Freeze и Thaw), так и System.Threading.Thread (для доступа к свойству ManagedThreadId)..
В идеале это должно быть следующим образом, но приведение не будет компилироваться, говоря, что оно не может быть преобразовано из System.Threading.Thread в EnvDTE.Thread.
var threads = new Dictionary<EnvDTE.Thread, System.Threading.Thread>();
foreach (System.Threading.Thread thread in this.dte.Debugger.CurrentProgram.Threads) {
threads.Add((EnvDTE.Thread)thread, thread);
}
Как заставитьприведение, зная, что оно не сгенерирует исключение (если я что-то здесь не упущу)?
Правка: оно вызывает исключение InvalidCastException.