Bonjour,
Je travaille actuellement sur un projet avec Powershel version 2. j'ai un problème, j'ai une méthode qui fait un return de type OrderedDictionary, mais quand j'appelle cette méthode et que je fais un getType de la variable alimenté via cette méthode elle est de type Object[]. Pourriez-vous m'aider svp?

Merci d'avance pour votre réponse
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
function buildInfosFileOfObject{
    
    param($fileListSettings)
    process{

        $setInfoObject = @{} # New-Object System.Collections.Specialized.OrderedDictionary
		
		$settingsFile = New-Object System.Collections.ArrayList

        $keysFile = New-Object System.Collections.ArrayList
		
		$informationSettingFiles = New-Object System.Collections.Specialized.OrderedDictionary
		
		foreach( $settingNode in $settingsXml.selectNodes("/settings/importedFiles/file") ){
            
            $settingsObjectXml = [xml](Get-Content (Join-path $settingsDirectory $settingNode.GetAttribute('path')).Replace('{0}', $id))
            if(-not $settingsObjectXml ){
                $nameObjectType = $settingNode.getAttribute('name')
                $date = Get-Date
                $fatal += "$date : FATAL ERROR - XML File not found : '$nameObjectType' for the bank '$id'"
                writeInFileLog -message $fatal -fileLog $logFile
                throw "Error : $nameObjectType not found for bank $id"
            }

            $settingsFile.add($settingsObjectXml)
            
			$tempPath = Join-path $settingsDirectory $settingNode.GetAttribute('path').Replace('{0}', $id)
			
			 $settingObject = New-Object PSObject -Property @{
				pathFile = $tempPath
				nameOfSettingFile = $settingNode.GetAttribute('name')
				fileListSetting = $settingsFile
			 }
			 
			 $informationSettingFiles.add($settingNode.GetAttribute('name') , $settingObject)
        }
		
		
		for( $j = 0; $j -lt $fileListSettings.Count; $j++ ){
			$arrayInfosFileOfObject = New-Object System.Collections.Specialized.OrderedDictionary
            for( $i = 0; $i -lt $Global:BankList.Count; $i++ ){
            
                $id = $Global:BankList[$i]
                ## le tableau des fichier lies au type d'objet qu'on va traiter
                $csvArrayOfObjectType = buildInformationFilePerObject -settingsXml $fileListSettings[$j] -bankCode $id
				
				$informationObjectType = New-Object PSObject -Property @{
                    nameObject = $fileListSettings[$j].settings.setting.listFile.name
                    privativeXMLParametrageOfObject = $fileListSettings[$j]
                    privatifParametrage = $csvArrayOfObjectType[0].methodCalculColumns
                    formatColumns = $csvArrayOfObjectType[0].formatColumns
                    columnsNameToReplace = $csvArrayOfObjectType[0].columnsNameToReplace
                    columnsPresentInOutPutFile = $csvArrayOfObjectType[0].columnsPresentInOutPutFile
                    filesToProcessForObject = $csvArrayOfObjectType
                    pathOfPrivativeFile = $informationSettingFiles[$fileListSettings[$j].settings.setting.listFile.name]
                    obligatoryColumns = $csvArrayOfObjectType[0].obligatoryColumns
                }

                $arrayInfosFileOfObject.add($id , $informationObjectType )
             
             }
              ## map contenant par banque les infos des fichiers de conf
            $setInfoObject.add($fileListSettings[$j].settings.setting.listFile.name,  $arrayInfosFileOfObject )
			
		}
        

         write-host "tttttt $($setInfoObject.getType() )" # ===> tttttt System.Collections.Specialized.OrderedDictionary

        return ,$setInfoObject
        
    }

$tempSet = buildInfosFileOfObject -fileListSettings $filesXML
write-host " tempsSet $($tempSet.getType().fullName)" # ==> tempsSet System.Object[] de taille 3 ( 0 , 0, et mon orderedDictionnary )
		$Global:SetSettingsAndCsvFilePerBank = $tempSet 
		write-host " sssss $($Global:SetSettingsAndCsvFilePerBank.count)" # ===>renvoie une taille de 3

}
je suis bloqué dessus depuis 2j et j'ai tout essayé mais je ne sais pas comment règler le problème.
Merci d'avance pour votre réponse.