我想将值从一个类文件传递到另一个类。
E.g:
步骤1:
的Class1.cs
public class Class1
{
public string LogedInPerson { get; set; }
public string Name
{
get { return this.LogedInPerson; }
set { this.LogedInPerson = value; }
}
}
步骤2:
已在以下方法中指定了值:
test.xaml.cs
public void assignValue()
{
Class1 obj = new Class1();
obj.LogedInPerson = "test123";
}
步骤3:
我想从Class2.cs获得“test123”值。
E.g:
public void test()
{
string selected_dept = ?? //How to get "test123" from here.
}
答案 0 :(得分:3)
您可以拥有包含公共变量的变量类。在变量类中定义class1
的实例。
public static class1 myclass=new class1();
在test.xml.cs中设置值
public void assignValue()
{
myclass.LogedInPerson = "test123";
}
在class2.cs中
public void test()
{
string selected_dept = myclass.LogedInPerson;
}
答案 1 :(得分:2)
在Class1
方法之外初始化assignValue()
Class1 obj = new Class1();
public void assignValue()
{
obj.LogedInPerson = "test123";
}
public string returnValue()
{
return obj.LogedInPerson;
}
如果您的第二个班级名称test.xaml
然后将其称为此类,但我认为您不能使用班级名称test.xaml
,那么请使用一个好名称,例如:{{1} }
Class2
答案 2 :(得分:0)
我认为这个问题更多的是基于面向对象编程原理的主题,而不是WPF特定功能。因此,我将向您提供非WPF特定答案,因为它将允许我以最直接的方式解决您的问题。
在OOP中,方法可以将结果返回给调用者。所以,例如,
public string GetReturnObject(){
return "This is a return object";
}
您可以创建一个新对象并将其传递回调用者
public void Test(){
string data = GetReturnObject();
}
现在data
将被分配从Test()
调用的方法返回的对象。因此,如果通过添加返回类型并将实例化的AssignValue
对象传递回调用者来修改Class1
方法,则可以获得所需的答案
public Class1 assignValue()
{
Class1 obj = new Class1();
obj.LogedInPerson = "test123";
return obj;
}
希望有所帮助。