Visual studio 2015 VS2015:实时代码分析器:如何推断;“可能”;变量值还是调用堆栈?

Visual studio 2015 VS2015:实时代码分析器:如何推断;“可能”;变量值还是调用堆栈?,visual-studio-2015,Visual Studio 2015,我希望使用实时代码分析器来防止其他开发人员在编写特定方法的代码时出错 该方法返回枚举的通用列表。此列表是不可变的(但未声明为不可变)。我如何创建一个自定义的实时代码分析器,如果有人试图添加到该列表中,它会给出一个编译器错误 范例 List<MyEnum> list1 = GetList_Mutable(); List<MyEnum> list2 = GetList_Immutable(); ... list1.Add(another_element) // This i

我希望使用实时代码分析器来防止其他开发人员在编写特定方法的代码时出错

该方法返回枚举的通用列表。此列表是不可变的(但未声明为不可变)。我如何创建一个自定义的实时代码分析器,如果有人试图添加到该列表中,它会给出一个编译器错误

范例

List<MyEnum> list1 = GetList_Mutable();
List<MyEnum> list2 = GetList_Immutable();
...
list1.Add(another_element)  // This is OK and should be allowed 
list2.Add(another_element)  // Live code analyzer should catch that
List list1=GetList_Mutable();
List list2=GetList_Immutable();
...
list1.Add(另一个元素)//这是可以的,应该是允许的
Add(另一个元素)//实时代码分析器应该捕捉到

换句话说-Live Code Analyzer是否可以访问“可能”调用堆栈或推断特定值的来源?

您可以尝试使用MSDN中的教程-让我知道这是否适用于您如果是,我将以答案的形式发布。我已经阅读了两个现有教程,包括链接的教程。我看不到如何获得“虚构的”调用堆栈或任何超出当前分析的代码块的内容。@DeJaVo我查看了教程,没有看到如何解决这个问题。你能提供更多细节吗?