Access Modifier to which CLS rules apply C# with Example
using System; [assembly:CLSCompliant(true)] namespace CLSDoc { public class Cat { internal UInt16 _age = 0; private UInt16 _daysTillVacination = 0; //Warning CS3003 Type of 'Cat.DaysTillVacination' is not CLS-compliant protected UInt16 DaysTillVacination { get { return _daysTillVacination; } } //Warning CS3003 Type of 'Cat.Age' is not CLS-compliant public UInt16 Age { get { return _age; } } //valid behaviour by CLS-compliant rules public int IncreaseAge() { int increasedAge = (int)_age + 1; return increasedAge; } } } The rules for CLS compliance apply only to a public/protected components.