Как я могу привести необъявленное свойство в .NET, чтобы разрешить строгую типизацию? - PullRequest
1 голос
/ 20 мая 2019

Я пишу надстройку Excel в VB.NET, используя Interop Library. Я пишу код с Option Strict On, который запрещает позднюю привязку, но обычно я могу обойти это путем явного приведения типа. Тем не менее, есть то, что кажется незадекларированным свойством / методом на диаграмме (DisplayValueNotAvailableAsBlank), которое отлично работает, если я разрешаю позднюю привязку, но я не могу привести ее правильно, потому что она не распознается intellisense.

Я могу обернуть его в отдельную подпрограмму, как показано в коде, поэтому у меня может быть только один модуль с поздним связыванием, но мне это кажется немного неудовлетворительным. Это также должно быть проблемой в C #.


    Sub HideNAValues(myChart As Chart, valIn As Boolean)

        myChart.DisplayValueNotAvailableAsBlank = valIn

    End Sub


   public void HideNAValues(Chart myChart, bool valIn)
     {
       myChart.DisplayValueNotAvailableAsBlank = valIn;
     }

В VB я могу установить и использовать это свойство, и оно работает правильно, при условии, что я разрешаю позднюю привязку. Если я запрещаю позднее связывание или использую C #, я не могу. Как я могу преодолеть это?

...