我是c#的新手,我在完成代码方面遇到了一些问题,我看到很多类似于我的案例,他们已经通过反思得到了解决,但它并没有与我合作。
我有一个类可能会导致两个字符串和一个double作为示例 结果:
room = "bedroom";
device = "TV";
status = ON; //on =100 double
我有另一个名为Room的类,它将设备作为一个双变量的函数,例如:
Room bedroom = new Room();
bedroom.lights(ON);
livingroom.TV(OFF);
kitchen.lights(OFF);
第一个类可以返回任何房间或任何设备或任何雕像,因此有很多概率所以我希望将第一个类中的三个变量转换成一行代码,如另一个类的示例: / p>
我想要一个简单的例子:
room = "bedroom";
device = "TV";
status = ON; // double ON = 100;
是这样的:
bedroom.TV(ON);
如果有其他方法可以做到这一点而不是将字符串转换为代码我不介意^ _ ^
答案 0 :(得分:0)
我建议您不要使用语法。我甚至不确定它是否可能,也许还有一些奇怪的反思内容。 这句语法怎么样:
bedroom("TV", ON );
其中bedroom
是room
类的实例。
然后,您的room
课程将包含Dictionary<string,status>
,以便您可以添加电视,灯光等设备,并设置其开启/关闭状态。
如果您选择的可能设备有限,例如只有电视和灯光,然后你可以使用反射,但IMO不值得麻烦。