小编M. *_*ack的帖子

Visual C# - 访问另一个类中创建的对象实例

我提前道歉,基于范围可能是一个相当简单/快速的答案,但我到处都看,并且很惊讶没有得到答案.

我创建了一个名为Soldier的类,它有大约100个类变量.我需要一个用户输入信息,然后在几个不同的类窗体的过程中逐渐构建一个Solider对象(因为只有一个数据需要收集的数据太多).

我在Form1.cs中创建一个Soldier(tempSoldier)的(空)实例,并开始设置我从用户收集的对象的类变量.

private void button1_Click(object sender, EventArgs e)
{
    Soldier tempSoldier = new Soldier();
    tempSoldier.surname = textbox1.text;
}
Run Code Online (Sandbox Code Playgroud)

我的问题:如何从其他类(Form2.cs,Form3.cs ...)中的Form1.cs访问对象实例(tempSoldier)?

我应该提到所有表单(Form1.cs,Form2.cs ...)共享相同的名称空间.

提前致谢

编辑:以下所有解决方案都可以工作,这取决于您最喜欢哪一个.感谢您的反馈意见.一个小注意事项,请确保将所有类修饰符设置为Public包括您的自定义类(在我的例子中为Soldier.cs).

c# instance-variables

11
推荐指数
2
解决办法
6万
查看次数

为什么不调用ViewForAnnotation?

我知道这个问题已被多次询问,但所有答案似乎与我的应用程序中发生的情况略有不同.

我的理解是,一旦mapView将其委托设置为显示它的ViewController,就会调用viewForAnnotation函数.当mapView滚动时,会在地图中添加注释,以便在mapView区域内显示.

目前我有一个主viewController(mainVC),它包含一个MKMapView(mapView)这个viewController控制四个不同的地图在mapView中显示.

func moveViews(sender:Int) {
    // This function handles which button on the Segmented Control was clicked and the loads the appropriate map into the mapView (passed as a para

    removeAnnotationsAndOverlays() // ~~~
    if sender == 0 {
        // First Map was selected
        let map1VC = map1VC()
        map1VC.loadMap1View(mapView)
        map1VC.centerMapOnLocation()
    }
    else if sender == 1 {
        // Second Map was selected
        let map2VC = map2VC()
        map2VC.loadMap2View(mapView)
    }
    else if sender == 2 {
        // Third Map was …
Run Code Online (Sandbox Code Playgroud)

mkmapview mkannotationview ios swift2

10
推荐指数
2
解决办法
5724
查看次数