如何引用外部类中的字符串(C#)

时间:2011-09-12 20:25:45

标签: c# .net windows

如何在外部类中引用外部字符串。

e.g。

的Class1.cs:

MessageBox.Show(mystring);

Class2.cs:

public static void myMethod()
{
string mystring = "foobar";

// some logic here
}

5 个答案:

答案 0 :(得分:2)

如果我理解你的问题,你可以这样做:

public class2 
{
    public static string MyString 
    {
       get {return "foobar"; }
    }

}


public class1 
{
    public void DoSomething() 
    {
       MessageBox.Show(class2.MyString );
    }
}

答案 1 :(得分:2)

这样的东西?

public static class Foo
{
    public const string FOO_CONST = "value";
}

public class Bar
{
    public void Bar()
    {
        Console.WriteLine(Foo.FOO_CONST);
    }
}

答案 2 :(得分:0)

如果您创建一个新的Class2实例,您可以将MyString公开或将其拉出到get方法中:

//In Class1
Class2 class2 = new Class2();
MessageBox.Show(class2.Mystring());

//In Class2
public string Mystring{ get; set; }

或者您可以从方法

返回字符串
public static string myMethod()
{
    string myString = "foobar";
    //logic goes here
    return myString;
}

//In Class1
Class2 class2 = new Class2();
MessageBox.Show(class2.MyMethod());

答案 3 :(得分:0)

根据您对问题的澄清:

  

我正在尝试检查class2中方法中的布尔值。例如。如果   在class2中运行的方法改变了该方法中的布尔值   class1中的方法可以检查这个并做一些逻辑

你可以这样做:

class Class1 {

  Class2 myClass = new Class2();

  public void ActivityMethod() {
    myClass.MethodThatMayChangeBoolean();
    if(myClass.myBoolean) {
      // Response to a truth change.
    } else {
      // Respond to a false change.
    }
  }
}

class Class2 {
  public boolean myBoolean { get; }

  public void MethodThatMayChangeBoolean() {
    // Do stuff in here that may change boolean.
  }
}

答案 4 :(得分:0)

您需要使用属性

 private static string _mystring = "foobar";
 public static string mystring 
 {
    get { return _mystring ; }
    set { _mystring = value; }
 }

或者使用自动属性并在类的静态构造函数中初始化它们的值:

 public static string mystring { get; set; }

 public static MyStaticClass()
 {
   mystring = "foobar";
 }