c# - 戻り値 - object sender



パブリッククラス-「その保護レベルのためにアクセスできません。 処理できるのはパブリックタイプだけです。」 (1)

クラスは一般公開です

いいえ、ちがいます。 これが宣言です。

class Conn
{
    ...
}

アクセス修飾子を指定していないので、デフォルトでinternalなっています(ネストされていないと仮定して)。 それがパブリックコンストラクタを持っているからといって、それをパブリックにすることはできません。 明示的に公開する必要があります。

public class Conn
{
    ...
}

私はオブジェクトのXMLシリアライゼーションについて学ぶためにテストプロジェクトをやっています、そして私は奇妙なランタイムエラーを得ています:

namespace SerializeTest
{

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {

    }



    private void serializeConnection(Conn connection)
    {
        XmlSerializer serializer = new XmlSerializer(typeof(Conn));
        TextWriter textWriter = new StreamWriter(@"serialized.xml");
        serializer.Serialize(textWriter, connection);
        textWriter.Close();
    }

    static List<Conn> deserializeConnection()
    {
        XmlSerializer deserializer = new XmlSerializer(typeof(List<Conn>));
        TextReader textReader = new StreamReader(@"serialized.xml");
        List<Conn> connectionList;
        connectionList = (List<Conn>)deserializer.Deserialize(textReader);
        textReader.Close();

        return connectionList;
    }

    private void btnSerialize_Click(object sender, EventArgs e)
    {
        Conn conn = getConnection();
        serializeConnection(conn);

    }

    private Conn getConnection()
    {
        Conn connection = new Conn();
        connection.connectionName = txtName.Text;
        connection.address = txtAddress.Text;
        connection.height = 2542;
        connection.width = 4254;
        connection.password = txtPassword.Text;
        connection.smartSizing = false;
        connection.username = txtUsername.Text;
        connection.port = 474;
        return connection;
    }

    private void btnDeserialize_Click(object sender, EventArgs e)
    {
        int count = deserializeConnection().Count;
        lblStatus.Text = "Count: " + count;
    }
}

class Conn
{
    public Conn()
    {
    }
    public string connectionName { get; set; }
    public int height { get; set; }
    public int width { get; set; }
    public string address { get; set; }
    public string username { get; set; }
    public string password { get; set; }
    public int port { get; set; }
    public bool smartSizing { get; set; }
}

}

クラスは公開されています - 私はこのエラーの原因となり得るものを理解していません。 任意の助けがいただければ幸いです。





class-visibility