Viene visualizzato questo avviso Se si sa di cosa si tratta, si prega di spiegare & aiutarmi a sbarazzarsi di esso. Nam.Il tipo di argomento non è conforme a CLS, perché?
risposta
Nel file AssemblyInfo.cs, probabilmente si sono una linea che legge
[assembly:CLSCompliant(true)]
Se lo fai, allora le seguenti regole devono essere rispettate. (Copy-Paste da http://www.devarticles.com/c/a/C-Sharp/Making-Your-Code-CLS-Compliant/)
tipi Unsigned non dovrebbero essere parte dell'interfaccia pubblica della classe. Ciò significa che i campi pubblici non dovrebbero avere tipi non firmati come uint o ulong, i metodi pubblici non dovrebbero restituire tipi non firmati, i parametri passati alla funzione pubblica non dovrebbero avere tipi non firmati. Tuttavia, i tipi non firmati possono far parte di membri privati.
I tipi non sicuri come i puntatori non devono essere utilizzati con membri pubblici. Tuttavia possono essere utilizzati con membri privati.
I nomi delle classi e dei nomi dei membri non devono differire solo in base al loro caso. Ad esempio, non possiamo avere due metodi denominati MyMethod e MYMETHOD.
Solo le proprietà e i metodi possono essere sovraccaricati, gli operatori non devono essere sovraccaricati.
I tipi non firmati possono far parte di un'interfaccia pubblica, se non espongono alcuna funzionalità che il codice scritto in una lingua senza tipi non firmati potrebbe voler utilizzare ma non essere in grado di farlo.Ad esempio, un metodo per memorizzare un valore senza segno a 32 bit in quattro byte consecutivi potrebbe legittimamente contenere sovraccarichi sia per 'UInt32' che per' Int64', e una classe potrebbe fornire un metodo per convertire quattro byte consecutivi in 'UInt32' se anche fornito uno che restituirebbe lo stesso valore di un 'Int64'. – supercat
qualche informazione in più:
E si può ottenere questi avvertimenti in un assieme CLS-compliant, che fa riferimento a un gruppo di non-CLS-compliant (e rivela la sua membri conformi non CLS):
Primo collegamento interrotto. – rkg
Questa è una vecchia domanda, ma ho pensato che una spiegazione migliore fosse dovuta per i futuri investigatori (come me).
Prima di tutto, i collegamenti nelle altre risposte forniscono dettagli dettagliati sul motivo per cui viene fornito questo avviso.
Tuttavia, per riepilogare, il codice scritto per Common Language Runtime (come C#) è compatibile con CLS se può interfacciarsi con altri linguaggi progettati per CLR. Ciò significa che determinati tipi di dati specifici della lingua che non sono comuni all'intero runtime non sono conformi. La soluzione rapida e semplice per quanto riguarda variabili e metodi è di dare loro il modificatore di visibilità internal
che specifica che il metodo, la classe, la proprietà, ecc. Non è visibile al di fuori dell'assieme per cui è stato costruito. Questo dovrebbe essere fatto solo su quegli articoli che non ti servono o che vuoi usare al di fuori dell'assemblaggio; per quelli che vuoi vedere, usa tipi di dati che sono compatibili con CLS.
- 1. Nome di riferimento Il caso non è conforme a CLS
- 2. Il tipo base non è conforme a CLS, quali sono le ragioni di questo avviso?
- 3. Perché questo nome con un trattino basso non è conforme a CLS?
- 4. Swift: Tipo di argomento '[String: ValueType]' non è conforme al tipo previsto 'ANYOBJECT' codice
- 5. Il tipo 'AnyObject' non è conforme al protocollo 'NSFetchRequestResult'
- 6. Il tipo 'booleano' non è conforme al protocollo 'BooleanType'
- 7. Perché `binario tipo di argomento operazione newval non è compatibile con il tipo di STRING` apparire
- 8. Il tipo 'Int32' non è conforme al protocollo 'AnyObject' Swift?
- 9. Perché getcwd() non è conforme a ISO C++?
- 10. Il tipo 'ViewController' non è conforme al protocollo 'UICollectionViewDataSource'
- 11. 'Array come argomenti attributo non è compatibile con CLS' avvertimento, ma nessuna informazione di tipo dato
- 12. Perché il tipo di carattere di Swift non è selezionabile?
- 13. Perché il CLS richiede il lancio/cattura di oggetti derivati da Eccezione?
- 14. Perché questa funzione di Scala viene compilata quando l'argomento non è conforme al vincolo di tipo?
- 15. Tipo generico Swift conforme a due protocolli
- 16. Che cos'è una convenzione di denominazione conforme a CLS corretta per i campi protetti?
- 17. Tipo CCC non conforme al protocollo 'NSObjectProtocol'
- 18. Perché make_optional decadono dal tipo di argomento?
- 19. Tipo 'stringa' non è conforme al protocollo NilLiteralConvertible
- 20. È conforme a Bluemix HIPAA?
- 21. Tipo 'ANYOBJECT' non è conforme al protocollo 'SequenceType'
- 22. come argomento modello non-tipo
- 23. Il carattere `A` non è implementato per il tipo` A`
- 24. Python: TypeError: argomento di tipo 'builtin_function_or_method' non è iterabile
- 25. SelectMany() Impossibile dedurre argomento tipo - Perché no?
- 26. Limitazioni pratiche con assiemi non contrassegnati come conformi a CLS?
- 27. Perché std :: result_of accetta un tipo di funzione (non correlato) come argomento di tipo?
- 28. argomento di tipo 'NoneType' non è iterabile con ModelForm
- 29. Swift: non è conforme al protocollo NSCoding
- 30. Perché il tipo di argomento degli operatori aritmetici è impostato su int?
Che aspetto ha INotificationService? –