首页 > 解决方案 > 使用 App.Config 派生要使用的类/变量

问题描述

我正在构建一个硒框架,该框架需要在不同客户之间表现不同,例如 2 个客户的网页会略有不同

我正在尝试从 app.config appsettings 驱动这个,例如

<add key="Customer" value="ABC" /> 

然后我有一个客户类:

public static class Customer
    {
        public static string CustomerName = ConfigurationManager.AppSettings["Customer"];
        public static string custAddress = {CustomerName}.custAddress ; //this is obviously wrong - how do i do this?...
    }

public static class ABC
    {
        custAddress = "customer abc address";

    }

public static class DEF
    {
        custAddress = "customer def address";

    }

然后我想将其称为获取值的最简单方法,例如

var address = Customer.custAddress;

...这将根据 app.config 设置进行设置。

我是 ac# 新手,因此对缺乏清晰度表示歉意 - 我一直在试图弄清楚如何将客户字符串转换为与其同名的类。我认为接口也可能是一种选择,但要与复杂性作斗争。有没有更好的办法?

标签: c#selenium-webdriverinterfaceapp-config

解决方案


我建议您为每个客户设置一组设置,并且地址很简单AppSettings["Address"]

这样,当添加第三个客户时,您无需修改​​代码。如果您保留class ABC,那么进行设置就没有多大意义了。


推荐阅读