C# 自动列出所有方法参数以向前传递它们
正如代码所示,传递参数是一项相当频繁的任务。有没有办法用Resharper、visualstudio或其他附加组件自动生成列表C# 自动列出所有方法参数以向前传递它们,c#,.net,visual-studio,autocomplete,resharper,C#,.net,Visual Studio,Autocomplete,Resharper,正如代码所示,传递参数是一项相当频繁的任务。有没有办法用Resharper、visualstudio或其他附加组件自动生成列表isPriority、label、id、start、user,而不是手工编写 public void TransformAndStore( bool isPriority, string label, string id, DateTimeOffset start, string us
isPriority、label、id、start、user
,而不是手工编写
public void TransformAndStore(
bool isPriority,
string label,
string id,
DateTimeOffset start,
string user)
{
if (this.IsValid(id)) {
label = this.Clean(label);
this.Reposit(isPriority, label, id, start, user);
}
}
生成的列表应基于方法签名,按照出现的顺序列出方法的所有参数(不包括其类型)
- 此外,如果Reposit方法使用调用方法作用域中可用的一些但不是全部相同的参数(由参数/变量名称标识),那么自动完成也会加快编码速度,并降低RSI:)
重构->提取->从参数中提取类来自动完成这项工作
同样,如果你总是重复相同的参数组,考虑将作用于它们的方法移动到类中。使用这些方法对数据进行逻辑分组是一种很好的做法。例如:
public class CleverName
{
public bool IsPriority { get; set; }
public string Label { get; set; }
public string Id { get; set; }
public DateTimeOffset Start { get; set; }
public string User { get; set; }
public bool IsValid()
{
//Check if Id is valid
}
public void TransformAndStore()
{
if (this.IsValid()) {
Label = this.Clean(Label);
this.Reposit();
}
}
public void Reposit()
{
}
}
虽然它不能回答你所问的确切问题,但看看ReSharper的。它将根据当前上下文筛选可用的项目以完成,并且通常非常擅长建议正确的参数以通过。有趣的解决方法,但即使我只有3个参数,但我每年需要传递10000次,我也希望自动完成,所以我希望找到一个自动完成的解决方案。向上投票,但不是我想要的答案..你可以把这些方法放在同一个类中。这样,除了顶级调用之外,您根本不会传递参数。我理解,谢谢。参数越多,链接越多,你的方法就越有意义,但我仍然在谈论用几个可能只传递一次的参数(无链接)自动完成许多不同的不相关方法。几乎肯定没有办法自动完成参数,但祝你好运找到一个:)