【问题标题】:I can't access my class property我无法访问我的班级财产
【发布时间】:2016-03-12 05:25:23
【问题描述】:

我有这个 C# 类:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Handler.FTPClient
{
    public class FTP
    {
        private static string _message = "This is a message";

        public static String message
        {
            get { return _message; }
            set { _message = value; }
        }

        public FTP()
        {
        }

        public static String GetMessage()
        {
            return message;
        }
    }
}

我试图用这个来称呼它:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Handler.FTPClient;

namespace swift_ftp
{
    public partial class FTP : Form
    {
        FTP ftp;

        public FTP()
        {
            InitializeComponent();
        }

        private void btnClose_Click(object sender, EventArgs e)
        {

            Application.Exit();
        }

        private void FTP_Load(object sender, EventArgs e)
        {
            ftp = new FTP();
            MessageBox.Show(FTP.message);
        }
    }
}

但是由于某种原因,我无法调用该属性,是我没有做些什么吗?我也在没有静态的情况下做到了这一点并得到了相同的结果-_-

抱歉这个愚蠢而基本的问题,我已经有一段时间没有做 C#了!

(我已将 ref 添加到第二个项目中,该项目是 ftp 类库所在的位置)

【问题讨论】:

  • 你有两个同名的类。尝试ftp = new Handler.FTPClient.FTP() 以确保您实例化了正确的类。
  • @Rik 这个问题不是偏类。 FTPClient 类不是其他 FTP 类的一部分,它们只有相同的名称。一个在另一个中实例化。

标签: c#


【解决方案1】:

部分类只能在同一个程序集和同一个命名空间中。您的(部分)类驻留在不同的命名空间中。

https://msdn.microsoft.com/en-us/library/wa80x488.aspx

【讨论】:

    【解决方案2】:

    你有两个同名的类。试试

    ftp = new Handler.FTPClient.FTP() 
    

    确保实例化正确的类。

    不要忘记类本身的变量:

     Handler.FTPClient.FTP ftp;
    

    正是出于这个原因,您应该避免为不同的类使用相同的名称。由于您的 FTP 类继承自窗体,我假设它是一个窗口......所以将其重构为“FTPWindow”,您的问题更少,代码更易于阅读。

    【讨论】:

      猜你喜欢
      • 2012-06-19
      • 1970-01-01
      • 2019-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-09
      • 1970-01-01
      • 2016-02-13
      相关资源
      最近更新 更多