我试图在属性属于基类的类中找到该属性的用法。这是一个令牌示例:
class Program
{
class Item
{
public DateTime DeletedStamp { get; set; }
public decimal Price { get; set; }
}
class Book : Item
{
public string Title { get; set; }
public string Author { get; set; }
}
class Bicycle : Item
{
public string Type { get; set; }
public string Producer { get; set; }
}
static void Main(string[] args)
{
var book = new Book()
{
Title = "Atlas Shrugged",
Author = "Ayn Rand",
Price = 2.99M
};
var bicycle = new Bicycle()
{
Type = "Mountain bike",
Price = 499.99M,
Producer = "Biker Ben",
DeletedStamp = DateTime.Now
};
Console.WriteLine(book.Title);
Console.WriteLine(book.Price);
Console.WriteLine(bicycle.Price);
Console.WriteLine(bicycle.DeletedStamp);
}
}
如果我想找到的用法Price只在自行车项目上我发现我运气不好。我在 Visual Studio 2013 中使用 re-sharper,“查找用法”可查找 Price 的所有用法,包括 Book 中的用法。
这是一个小例子,但由于基类在许多其他类中使用,因此无法跟踪其用法。
我正在寻找任何技巧、技巧、扩展或魔法来解决这个困境。
对于这种情况,ReSharper 的 SRP(搜索并替换为模式)非常有用。
菜单 Resharper->查找->使用模式搜索...
在此定义以下模式:
$Item$.Price
of 仅用于写入用途:
$Item$.Price = $exp$;
或仅用于读取用途:
$exp$ = $Item$.Price
where $Item$
应该是表达式占位符,选择类型“自行车”
并且不要忘记检查“正是这种类型”。
$exp$ 可以保持未定义状态
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)