Como verificar a existência de uma tabela com uma determinada ID em uma palavra doc em C # VSTO 3

StackOverflow https://stackoverflow.com/questions/93506

Pergunta

Eu quero verificar a existência de uma tabela com uma determinada ID em um documento do Word em C # (VS 2008) Visual Studio Tools for Office (versão 3).

Obviamente, eu posso iterar coleção Tables do documento e verificar cada ID, mas isso parece ineficiente; o documento vai acabar tendo algumas dezenas de mesas depois que eu sou feito com ele, e enquanto eu sei que não é muito, loop através da coleção parece desleixado. A coleção Tables só é indexado por id inteiro, e não pelo ID de string atribuído à mesa, então eu não posso usar apenas um índice, e não há nenhuma aparente método da coleção de documentos ou tabelas existe.

Eu pensei de lançar a coleção tabelas para um IQueryable usando AsQueryable (), mas eu não sei como proceder para fazer isso de tal maneira que eu poderia consultá-lo por ID.

Ponteiros para docs ou código de exemplo seria apreciada, ou se há uma maneira melhor de fazer isso, eu sou tudo para isso, também

Foi útil?

Solução

Eu não acho que há uma maneira melhor de fazê-lo. Qualquer solução incluindo IQueryable presumivelmente precisar iterar a coleção internamente, portanto, não seria mais rápido.

O desempenho é pouco provável que seja um problema de qualquer maneira, então eu não me preocuparia com a ineficiência.

Se você está fazendo isso muito, você poderia fornecer um invólucro que itera uma vez através das tabelas e gera um dicionário que posteriormente você usar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top