重命名所有变量和文字而不混淆
本文关键字:文字 变量 重命名 | 更新日期: 2023-09-27 18:05:05
我想重命名代码中的所有类和变量,以使其更模糊。例如,下面的示例代码:
public class Dog
{
public Dog()
{
Bark(4);
}
private void Bark(int times)
{
//Do something
}
}
就变成:
public class Cat
{
public Cat()
{
Wood(4);
}
private void Wood(int asdasd)
{
//Do something
}
}
如果这是不可能的,也许还有更简单的方法,我们只需在每个变量/名称的中间添加一个字符:
public class Do1g
{
public Do1g()
{
Bar1k(4);
}
private void Bar1k(int time1s)
{
//Do something
}
}
功能保持不变,并且是人类可读的;但是,所有关于变量命名、类、方法等的信息都会被更改。
是否有一种方法可以混淆,同时保持可读性?
您可以使用Visual Studio Code Model来重命名符号。例如,要在当前函数名中添加'x':
EnvDTE.TextSelection ts = DTE.ActiveWindow.Selection as EnvDTE.TextSelection;
EnvDTE80.CodeElement2 func = ts.ActivePoint.CodeElement[vsCMElement.vsCMElementFunction]
as EnvDTE80.CodeElement2;
func.RenameSymbol(func.Name + "x");
(您可以在Visual Commander中运行此代码或在您自己的扩展中使用)。
此重命名操作还更新所有引用。您可以很自然地扩展这个示例来重命名类、名称空间和过程文件、项目。
首先我不知道这是如何使用的,但是,在评论中你说创建一个看起来像期望对象的新对象是可以接受的,所以
这是我的建议
- 使用反射读取类的所有方法
- 创建一个包含步骤1中所有属性和方法名称的列表
从那里,您可以使用LINQ使用从您创建的列表中创建的名称创建一个新对象。
请记住,我不知道如何或甚至如果这将工作。