Bonjour,
je suis un peu perdu concernant l'appel de fonction d'une classe hérité.
j'ai une classe de base contenant une fonction
Je possède une classe hérité et je souhaite appeler la fonction SetObjectPath qui appartient à la classe SCCMObject
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public abstract class SCCMObject : IResultObject { ............ public static virtual void SetObjectPath(List<SCCMObject> lstToCompare, WqlConnectionManager connection) {....} }
cependant je me retrouve avec le message d’erreur suivant avant la compilation
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 public class SCCMAdvertisement : SCCMObject { ..... public static List<SCCMAdvertisement> GetAllAdvertisements(WqlConnectionManager connection) { SCCMAdvertisement objRet = new SCCMAdvertisement(); List<SCCMAdvertisement> lstAdvlReturn = new List<SCCMAdvertisement>(); foreach (IResultObject resObj in objRet.GetAllObjects(connection)) { SCCMAdvertisement tmp = new SCCMAdvertisement(resObj); lstAdvlReturn.Add(tmp); } //Appel de ma fonction hérité SetObjectPath(lstAdvlReturn, connection); return lstAdvlReturn; } }
En gros je comprend que je dois fournir une liste de SCCMObject au lieu d'une liste de SCCMAdvertisement .Erreur 2 La méthode surchargée correspondant le mieux à '.Objects.SCCMObject.SetObjectPath(System.Collections.Generic.List<Objects.SCCMObject>, Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine.WqlConnectionManager)' possède des arguments non valides
Erreur 3 Argument 1*: impossible de convertir de 'System.Collections.Generic.List<Objects.SCCMAdvertisement>' en 'System.Collections.Generic.List<Objects.SCCMObject>'
Mais pour moi un SCCMAdvertisement "est" un SCCMObjet. Y'a il une faute dans ma déclaration ou ma logique est elle mauvaise ?
Merci pour votre aide![]()
Partager