这就是我所知道的
str = String.Format("Her name is {0} and she's {1} years old", "Lisa", "10");
Run Code Online (Sandbox Code Playgroud)
但我想要类似的东西
str = String("Her name is @name and she's @age years old");
str.addParameter(@name, "Lisa");
str.addParameter(@age, 10);
Run Code Online (Sandbox Code Playgroud) 在C#:如果我想创建这样的消息:"嗨我们有这些航班:航班A,B,C,D.你想要哪一个"
只有粗体部分是动态的,我在运行时传递它的值,但它的左右部分是固定的.我可以创建像LeftMessage +那些变量+ RightMessage来创建它.但我想知道是否有一种方法可以同时完成所有操作而无需创建两条单独的左右消息?
出于翻译目的,我将这些左右消息放在字符串资源中,所以现在我有两个单独的字符串资源.有没有办法一次完成所有操作?
我有一个模块用SMS发送消息.如果消息是静态的,我可以将变量放在字符串中,但是用户请求可以根据需要更改消息.
我创建了这个变量
示例:
来自{Company}.嗨先生/客人{客户名称},您的账单号码为 {BillNumber},总付款为{Payment}.我们想通知您物品已经完成并准备好收集.
我当前的代码适用于静态消息,
string messageSms = "From " +Company+ ". Hi Mr/Mrs "+{CustomerName}+", your bill number is "+{BillNumber}+" with a total payment of "+{Payment}+". We want to inform you the items has been completed and ready for collection.";
Run Code Online (Sandbox Code Playgroud)
但是如何使用动态消息呢?如何检测字符串中的变量并在变量上设置数据?
我也跟着这篇文章,但没有那么多帮助.
这是有效的,但我想使用文本Group 1作为变量.
代码试用:
[FindsBy(How = How.XPath, Using = "(.//*[normalize-space(text()) and normalize-space(.)= 'Group 1'])[1]/ancestor::app-organization//*[normalize-space(text()) and normalize-space(.)='Create a new board...']/following::input[1]")]
public IWebElement BoardNameInputField { get; set; }
Run Code Online (Sandbox Code Playgroud)
我试过这个但没有成功:
string boardName = "Group 1";
[FindsBy(How = How.XPath, Using = "(.//*[normalize-space(text()) and normalize-space(.)='${boardName}'])[1]/ancestor::app-organization//*[normalize-space(text()) and normalize-space(.)='Create a new board...']")]
public IWebElement CreateNewBoard { get; set; }
Run Code Online (Sandbox Code Playgroud)
是否有可能做到这一点?