Tengo errores cuando construyo mi proyecto:¿Por qué mi código no cumple con CLS?
Warning as Error: Type of 'OthersAddresses.AddresseTypeParameter' is not CLS-compliant C:...\Units\OthersAddresses.ascx.cs
public Address.AddressTypeEnum AddressTypeParameter
{
get
{
return _addressTypeParameter;
}
set
{
_addressTypeParameter = value;
}
}
y éste:
Warning as Error: Type of 'Global.UserInSession' is not CLS-compliant C:...\Global.asax.cs
public static User UserInSession
{
get
{
return (HttpContext.Current.Session["CurrentUser"] == null)
? null
: HttpContext.Current.Session["CurrentUser"] as User;
}
set
{
HttpContext.Current.Session["CurrentUser"] = value;
}
}
que añade atributo [CLSCompliant(false)]
antes UserInSession
y AddresseTypeParameter
y funciona pero me gustaría entender por qué no fue CLS-co mpliant.
Algunos más información sobre las clases y enumeración:
clase de usuario (User.cs)
public class User
{
private string _uniqueIdentifier;
private string _password = string.Empty;
private string _email = string.Empty;
private string _passwordQuestion = string.Empty;
private string _passwordAnswer = string.Empty;
private string _id_directions_db = string.Empty;
private string _id_gesab = string.Empty;
private string _zipCode = string.Empty;
private string _fonction_id = string.Empty;
private string _fonction = string.Empty;
private string _structure_id = string.Empty;
private string _structure = string.Empty;
private string _firstName = string.Empty;
private string _lastName = string.Empty;
private string _company = string.Empty;
private string _avatarPath = string.Empty;
private Role _role = new Role();
private List<Address> _addressList = new List<Address>();
private string _otherInformation = string.Empty;
private MembershipUser _membershipUserAssociated = null;
...
public enum GenderEnum
{
Empty = 0,
Monsieur,
Madame
}
Y
enumeración AddressTypeEnum (Address.cs)
public class Address
{
private AddressTypeEnum _addressType;
private string _firstName = string.Empty;
private string _lastName =string.Empty;
private string _structure = string.Empty;
private string _structureComplementary = string.Empty;
private string _addressStreet = string.Empty;
private string _addressComplementary = string.Empty;
private string _bp = string.Empty;
private string _zipCode = string.Empty;
private string _country = string.Empty;
private string _countryId = string.Empty;
private string _city = string.Empty;
private string _phone = string.Empty;
private string _fax = string.Empty;
private string _email = string.Empty;
public enum AddressTypeEnum
{
Empty = 0,
Personal = 1,
Billing = 2,
Delivery = 3
}
Probablemente tengas que mostrar la definición de las clases 'User' y' Address' para ayudarte aún más. –
Deletreó la dirección incorrecta por cierto. – Ray
¿Hizo los tipos de propiedad CLS-obedientes? – Kolky