假设此类型:
public class Car { }
我创建的是一个实例:
Car myCar = new Car();
Target target = new Target();
target.Model = myCar;
这是另一种类型:
public class Target {
public object Model { get; set; }
string GetName(){
//Use Model and return myCar in this Example
}
}
正如我在代码显示GetName
方法必须使用一个对象类型( Model
),并返回实例的名称即myCar在这个例子中? 你有什么建议,有什么办法做到这一点?
更新如何:
public class Car {
public string Title { get; set; }
}
我传递给目标: target.Model = Car.Title
和GetName()
方法返回的Title
?
不,这是不可能的。 为什么? 由于myCar
是只为你一个名字 Car
您设置了变量的范围内的实例。 什么会保存到target.Model
是对参考 Car
实例。 所以,你的示例代码,后两者myCar
和target.Model
引用的同一个实例Car
,只是名称不同。 它们的名称是相当不重要的程序的执行,它只是我们用来进行通话关于实例更容易把戏。
对象没有一个名字,除非他们明确地有一种方法来存储他们的名字。 myCar
是一个局部变量-对象本身(的Car
) 不知道你是由名称引用它myCar
。 为了显示:
Car myCar = new Car();
Car car2 = myCar;
Car car3 = myCar;
现在,所有三个变量指向同一个 Car
。
如果你想汽车拥有的名字,你可以这样做
public class Car
{
public string Name { get; set; }
}
然后分配和阅读你希望它有任何名称。
有作为“的实例的名称为”没有这样的事。 什么你说的是具体的参考对象的名称; 有可能是同一个对象多次提到,所有不同的名字。 此外,连接的代码和数据(即依靠变量名)是一种不好的做法。
如果你想Car
有一些名字,然后明确地将其命名为:
public class Car {
public string Name { get; set; }
}
Car myCar = new Car { Name = "myCar" };