【发布时间】:2013-08-04 06:13:48
【问题描述】:
在 WPF 中有很多类,您可以在其中传递一个属性进行处理;例如ValueConverters、RuleValidations 等。您将属性转换为正确的类型并使用它。
但我经常需要特定对象的一些其他属性来进行计算和比较值等操作。
最近几天我一直在尝试一些丑陋的东西,比如将整个对象作为参数传递,只是为了获取实例对象。
一定有一种方法可以从它自己的属性中获取对象吗?
我该怎么做?
例如在这段代码中:
public class Car
{
public string Brand { get; set; }
public string Color { get; set; }
}
class Program
{
public static void Main(string[] args)
{
Car car = new Car();
car.Brand = "Porsche";
car.Color = "Yellow";
Test(car.Brand);
}
public static void Test(object value)
{
var brand = (String)value;
// Get the Car object instance reference from the passed object?
var carInstance = ...
Console.WriteLine("This {0} has a {1} paint job",
brand, carInstance.Color);
}
}
【问题讨论】:
-
我建议,如果您尝试获取的值多于传递的值,则您的代码架构需要调整...如果您需要一个字符串,请传递一个字符串,如果您需要一个对象,传一个...
标签: c# oop object reflection