2016-02-16 82 views
-1

我有几个变量从一个窗体传递到另一个窗体,但现在我意识到这些变量不能在窗体方法之外访问。增加传递参数的范围

public Form3(int str, int dex, int vit, int arc, int hp, int mp, int sp, string name, string charClass) 
    { 
     ... 
    } 

我想能够访问其他方法的参数。是否有可能在课堂上增加这些参数的范围,或者我需要去根源并以不同的方式声明它们?

+0

您是否熟悉[properties](https://msdn.microsoft.com/en-us/library/x9fsa0sw.aspx)?这通常是如何使信息可用(即使只读)到其他类。 –

+0

您可以使用公开访问修饰符 –

回答

0

让他们成为班级成员。例如:

public class Form3 
{ 
    private int Str { get; set; } 

    public Form3(int str) 
    { 
     Str = str; 
    } 

    private void SomeOtherMethod() 
    { 
     // here you can access Str 
    } 

    // other methods, etc. 
} 
+0

从您的表单暴露方法或属性啊,我有很多东西要学习;组;功能。谢谢!我感谢您的帮助。 – Arcaster

+0

@ user5930165:从技术上讲,你不需要把它变成这样的属性,它可能只是一个类级别的变量。但是如果你打算让其中任何一个可以从其他物体上公开访问,那么在这种情况下,一个物业将会是更好的实践。没有理由不使用私人财产,所以通常保持良好的习惯。 – David