Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I disable CLS compliance checking using C#

How do I disable CLS compliance checking?

How can I do it for:

  1. The entire assembly
  2. A smaller scope, maybe one file or one class...
like image 728
user429400 Avatar asked Oct 31 '10 09:10

user429400


2 Answers

You can use the CLSCompliant attribute to explicitly mark an assembly or type, e.g.

For an assembly, add the following line in AssemblyInfo.cs

[assembly: CLSCompliant(false)]

For a class

[CLSCompliant(false)]
public class Foo
{
}

You can also use it for specific type members (methods, properties, etc.) in a similar manner.

like image 137
Adam Ralph Avatar answered Oct 03 '22 18:10

Adam Ralph


You could use the [CLSCompliant(false)] attribute.

Quote from the doc:

You can apply the CLSCompliantAttribute attribute to the following program elements: assembly, module, class, struct, enum, constructor, method, property, field, event, interface, delegate, parameter, and return value. However, the notion of CLS compliance is only meaningful for assemblies, modules, types, and members of types, not parts of a member signature. Consequently, CLSCompliantAttribute is ignored when applied to parameter or return value program elements.

There's also possibility to supress compiler warnings.

like image 31
Darin Dimitrov Avatar answered Oct 03 '22 18:10

Darin Dimitrov