从另一个文件访问私有类

Suu*_*Ven 3 .net c# private

我想将我的 .cs 文件分开,主要是因为我认为这样看起来更整洁。在一个 .cs 文件中,我有 Form.cs。我在 .NET 框架 2.0 中工作。所以我有一个不同的 myClass.cs 文件,其中包含多种方法。因为我希望表单的用户在访问方法中调用的 Web 服务之前进行身份验证,所以我希望信息是私有的。我在示例和教程中看到,这通常在同一个文件中没有问题。但是,在我的目标中,我希望信息位于 class.cs 文件中。例如,我希望 myClass.cs 文件中的类看起来像这样(这还很粗糙):

    private class SessionData
    {
        private String fTicket;
        private string otherData;

        public SessionData( String ticket, String otherData)
        {
            fTicket = ticket;
            fotherData = otherData;
        }

        public String getTicket{ return fTicket; };
    }
Run Code Online (Sandbox Code Playgroud)

然后在form.cs文件中访问它...

    private void LogOn_Click(object sender, EventArgs e)
    {

         myClass sessInfo = new myClass();

         string myTicket = sessInfo.SessionData();
         }
    }
Run Code Online (Sandbox Code Playgroud)

问题是因为它是私有的,所以我无法在 Form.cs 中访问它。甚至有可能做到这一点吗?我看过很多例子和技巧,但总是在同一个文件中。无论如何,这是我脑海中的基本想法。如果有另一种方式,我愿意征求意见!

我是否必须创建一个公共构造函数,有人可以给我举个例子吗?

小智 5

您可以在一个单独的文件中定义嵌套类,例如“SessionData.cs”,只需将它包装在应该可以访问它的部分类中。

public partial class Form1
{
    private class SessionData
    {
        public void getTicket();
    }
}
Run Code Online (Sandbox Code Playgroud)