首頁  >  文章  >  後端開發  >  c#因其保護等級而不可訪問,只能處理公共類型的詳細程式碼介紹

c#因其保護等級而不可訪問,只能處理公共類型的詳細程式碼介紹

黄舟
黄舟原創
2017-03-11 13:33:544055瀏覽

在實作C#匯出List資料到xml檔[附原始碼]時遇到錯誤:因其保護等級而不可存取。只能處理公共類型。

產生錯誤的程式碼行:

XmlSerializer xmlSerializer = new XmlSerializer(typeof(List<UserModel>));

錯誤原因:以下程式碼中類別定義為:

class UserModel

沒有新增public存取修飾符
##

    /// <summary>
    /// 用户实体类
    /// 
    /// 注意:类的访问修饰符必须是:public,否则会出现错误:
    /// 因其保护级别而不可访问。只能处理公共类型。
    /// </summary>
    [Serializable]
    public class UserModel
    {
        private long id = 1;

        private string name = "name";

        private int gender = 0;

        private int age = 20;

        private string userName = "userName";

        private string password = "password";

        public long Id
        {
            get { return id; }
            set { id = value; }
        }

        public string Name
        {
            get { return name; }
            set { name = value; }
        }

        public int Gender
        {
            get { return gender; }
            set { gender = value; }
        }

        public int Age
        {
            get { return age; }
            set { age = value; }
        }

        public string UserName
        {
            get { return userName; }
            set { userName = value; }
        }

        public string Password
        {
            get { return password; }
            set { password = value; }
        }
    }

以上是c#因其保護等級而不可訪問,只能處理公共類型的詳細程式碼介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn