我有这个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类库所在的位置)
答案 0 :(得分:5)
您有两个同名的课程。尝试
ftp = new Handler.FTPClient.FTP()
确保您实例化正确的班级。
不要忘记类本身中的变量:
Handler.FTPClient.FTP ftp;
出于这个原因,您应该为不同的类避免使用相同的名称。由于你的FTP类继承自Form,我认为它是一个窗口......所以将它重构为“FTPWindow”,你的问题就少了,而且代码更容易阅读。
答案 1 :(得分:2)
部分类只能在同一个程序集和相同的命名空间中使用。您的(部分)类位于不同的名称空间中。