[C#] Type d'argument non conforme CLS

Type d'argument non conforme CLS [C#] - C#/.NET managed - Programmation

Marsh Posté le 29-11-2005 à 15:20:53    

Boujour à tous,
 
Je ne comprends pas une erreur que me crache mon compilateur (Visual Studio) :
 
"Le type d'argument 'Hornet.HornetModel.UserClass' n'est pas conforme CLS"
 
or ma classe est la plus simple possible :

Code :
  1. using System;
  2. namespace Hornet.HornetModel
  3. {
  4. public class UserClass
  5. {
  6.  private string className = "";
  7.  public string ClassName
  8.  {
  9.   get
  10.   {
  11.    return className;
  12.   }
  13.   set
  14.   {
  15.    className = value;
  16.   }
  17.  }
  18.  public UserClass(string className)
  19.  {
  20.   this.className = className;
  21.  }
  22. }
  23. }


 
La classe UserClass est dans une bibliotheque de classe (1) et, depuis une autre bibliotheque de classe (2), je tente de faire ça :

Code :
  1. public delegate void AddObject_Handler(UserClass userClass);


C'est sur cette ligne que j'ai l'erreur.
 
Je ne comprends pas, si je declare un object UserClass dans (2) ça ne pose pas de probleme et ça compile sans histoire.
 
Quelqu'un aurrait il deja rencontrer cette erreur ?
 
Merci d'avance
 
Fluminis


Message édité par fluminis le 29-11-2005 à 15:22:18

---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 29-11-2005 à 15:20:53   

Reply

Marsh Posté le 29-11-2005 à 15:37:26    

Ici ça marche très bien (Visual C# Express 2005)
 

Code :
  1. using System;
  2. namespace Hornet.HornetModel
  3. {
  4.     public class UserClass
  5.     {
  6.         private string className = "";
  7.         public string ClassName
  8.         {
  9.             get
  10.             {
  11.                 return className;
  12.             }
  13.             set
  14.             {
  15.                 className = value;
  16.             }
  17.         }
  18.         public UserClass(string className)
  19.         {
  20.             this.className = className;
  21.         }
  22.     }
  23. }


 

Code :
  1. using System;
  2. namespace Hornet.HornetModel
  3. {
  4.     public delegate void AddObject_Handler(UserClass userclass);
  5.     public class theTest
  6.     {
  7.     }
  8. }


 
0 errors, 0 warnings

Reply

Marsh Posté le 29-11-2005 à 15:44:58    

Je sais pas pourquoi mais ici ça ne fonctionne pas tel quel.
 
Je viens de rajouter ça en haut de mon fichier :
[assembly:CLSCompliant(true)]
 
Et ça marche maintenant :s
D'apres ce que je viens de lire, ça ne fait que forcer le compilateur a tester si la classe est CLS compilant, sinon il ne le fait pas tout seul.
 
Très bizarre tout ça, j'en perds mon latin.


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 29-11-2005 à 18:20:18    

t'es sous .NET 1.1 ? parce que moi j'ai testé sous 2.0

Reply

Marsh Posté le 29-11-2005 à 18:24:49    

Je sus sous .Net 1.1 (Visual 2003)
Et j'ai donc 2 bibliotheque de classe et un exe
Est ce que ca pourrait venir de ce que les evenements requierent des arguments dérivant de EventArg ?


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 29-11-2005 à 18:33:09    

Non.
 
Un delegate ne sert pas qu'à traiter les évenements. Tu t'en sers aussi pour les callback, etc... Tu peux lui fournir n'importe quel argument.
 
Tu peux poster ton code entier stp ?

Reply

Marsh Posté le 29-11-2005 à 19:06:43    

Non, je suis vert :(
 
Je viens de commenter la ligne magique [assembly:CLSCompliant(true)]
que j'avais rajoutée tout a l'heure en haut de mon fichier, et ça compile encore...
 
L'erreur n'est pas revenue :s
 
Vraiment etrange, mais ça m'a fait perdre du temps cette histoire.
 
Merci beaucoup pour tes réponces, j'espère que le problème ne reviendra plus.


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 29-11-2005 à 20:16:42    

Quand c'est comme ça, un bon coup de Clean et Rebuild all, et en avant !


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 29-11-2005 à 20:18:18    

Je saurais pour la prochaine fois :)
Merci


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed