
[英]How can I access a static property of type T in a generic class?
[英]I can't access my class property
我有这个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()
以确保您实例化正确的课程。
不要忘记类本身中的变量:
Handler.FTPClient.FTP ftp;
正是由于这个原因,对于不同的类,应避免使用相同的名称。 由于您的FTP类是从Form继承的,因此我认为它是一个窗口...因此,将其重构为“ FTPWindow”,问题就更少了,代码也更易于阅读。
局部类只能在相同的程序集和相同的名称空间中使用。 您的(部分)类位于不同的名称空间中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.