C# 错误不一致的可访问性方法C

C# 错误不一致的可访问性方法C,c#,C#,获取消息: 错误1可访问性不一致:参数类型“Assignment_5.Address”的可访问性不如方法“Assignment_5.ContactManager.AddContactstring,string,Assignment_5.Address”C:\Users\Oscariacson\documents\visual studio 2012\Project\Assignment 5\Assignment 5\ContactFiles\ContactManager.cs 24 21 Ass

获取消息:

错误1可访问性不一致:参数类型“Assignment_5.Address”的可访问性不如方法“Assignment_5.ContactManager.AddContactstring,string,Assignment_5.Address”C:\Users\Oscariacson\documents\visual studio 2012\Project\Assignment 5\Assignment 5\ContactFiles\ContactManager.cs 24 21 Assignment 5

这是所有类都是公共的方法代码:

    private List<Contact> m_contactRegistry;

    public bool AddContact(string firstName, string lastName, Address adressIn) 
    {
        Contact contactIn = new Contact(firstName, lastName, adressIn);

        m_contactRegistry.Add(contactIn);
        return true;
    }

    public bool AddContact(Contact ContactIn)
    {
        m_contactRegistry.Add(ContactIn);
        return true;
    }
地址类别:

namespace Assignment_5
{
    public class Address
    {
        private string m_street;
        private string m_zipCode;
        private string m_city;
        private Countries m_country;

        public Address() : this (string.Empty, string.Empty, "Göteborg")
        {

        }
        public Address(string street, string zip, string city)
            : this(street, zip, city, Countries.Sweden)
        { 

        }
        public Address(string street, string zip, string city, Countries country)
        {

        }

        public string Street;
        public string City;
        public string ZipCode;
        public Countries Country;

        /// <summary>
        /// This function simply deletes the "_" from country names as saves in the enum.
        /// </summary>
        /// <returns>the country name whitout the underscore char.</returns>
        public string GetCountryString()
        {
            string strCountry = m_country.ToString();
            strCountry = strCountry.Replace("_", " ");
            return strCountry;
        }

        /// <summary>
        /// Method that overrides the ToString method
        /// </summary>
        /// <returns>Formatted string with address detail on one line</returns>
        public override string ToString()
        {
            return string.Format("{0, -25} {1,-8} {2, -10} {3}", m_street, m_zipCode, m_city, GetCountryString());
        }

    }
}
Address类是受保护的、私有的或内部的,您可以获取此错误。请注意,类在C中。

我认为Address可能不是公共类。您应该使Address类不公开


您收到此错误是因为您正在引用公共方法上的非公共类。此代码的调用方可以访问AddContact方法,但不能访问Address类。这意味着任何人都不可能呼叫AddContact。

地址的可见性是什么?所有类都是公共的显然不是真的,因为地址不是。。。请发布地址定义…很可能这个类是公共的,但是类地址是私有的或者没有访问修饰符。公开你有没有费心用谷歌搜索这个错误?正如其他评论者所指出的,问题很明显。除了其他副本之外,可能还有其他副本…或者内部副本,我想?我已经在上面发布了address类!thanx要多的帮助地址实际上是公开的!