C# 重载方法,具体取决于调用实例
我真的是一个编程新手,因此我总是认为我可以编写更干净、更简单的代码 我想知道,是否有一种方法可以实现方法的不同行为,这取决于调用它的实例 例如: 从C# 重载方法,具体取决于调用实例,c#,wpf,mvvm,C#,Wpf,Mvvm,我真的是一个编程新手,因此我总是认为我可以编写更干净、更简单的代码 我想知道,是否有一种方法可以实现方法的不同行为,这取决于调用它的实例 例如: 从LevelCommand param = worker.CreateWindow(elemParams); 从IntersectionCommand param = worker.CreateWindow(elemParams); CreateWindow调用WPF模型的构造函数,WPF模型有TextBox(ofc有更多项,但只有TextBox是
LevelCommand
param = worker.CreateWindow(elemParams);
从IntersectionCommand
param = worker.CreateWindow(elemParams);
CreateWindow
调用WPF模型的构造函数,WPF模型有TextBox(ofc有更多项,但只有TextBox是相关的),根据命令,它需要显示不同的字符串。(“为{callerclass}
选择参数”)
以下是构造函数:
public Model(List<string> attribute, string caller)
{
try
{
if (attribute.Count == 0)
throw new Exception("Нет подходящих параметров");
Attd = attribute;
Attw = attribute;
Caption = "Выберите параметр для \nзаписи "+caller; //Bound to the TextBox, point of my question
Vis = Visibility.Collapsed;
}
catch (Exception ex)
{
TaskDialog.Show("Title", ex.Message);
}
}
公共模型(列表属性,字符串调用者)
{
尝试
{
如果(attribute.Count==0)
抛出新异常(“аааааааааааааааа;
Attd=属性;
Attw=属性;
标题=“bыыаааааааааааааааааа
Vis=可见度。塌陷;
}
捕获(例外情况除外)
{
TaskDialog.Show(“标题”,例如消息);
}
}
正如您所看到的,到目前为止,我只是尝试通过一个常数字符串,但我认为这不是一个好的解决方案。
尝试使用CeleReMeNeNestAtvest::/P>
public Model(List<string> attribute, [CallerMemberName] string caller="")
公共模型(列表属性,[CallerMemberName]字符串调用者=”)