Bonjour a tous!

Je suis en train de créer une .dll COM en C#, que j'appelle en suite via Excel/VBA.
Je souhaite donne en VBA un tableau de dates, que je récupere via C#. Pour cela, j'utilise le code suivant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public void SetBankHolidaysCalendar(object holidaysCalendar) {
            DateTime[] intermediaryTable;
            List<DateTime> finalList = new List<DateTime>();
 
            try {
                intermediaryTable = (DateTime[])holidaysCalendar; // J'essaye de caster en tableau de date une dimension
            } catch (InvalidCastException) {
                throw new InvalidCastException("The Holidays Calendar has to be a 1-dimension array of Dates."); // Si le "castage" rate
            }
 
            foreach (DateTime dateD in intermediaryTable)
                finalList.Add(dateD);
 
            ExchangeBankHolidaysCalendar = finalList;
        }
Cependant ce code ne fonctionne pas, et plante au niveau du cast.
Je ne comprends pas vraiment pourquoi, surtout que dans Visual Studio, le type de holidaysCalendar est : object {System.DateTime[]}

De plus, je réalise un processus similaire avec des tableaux de double, et il n'y a aucune probleme. Une idée d'ou le probleme peut venir?


Merci !