Прочитать на английском

Поделиться через


Предупреждение компилятора (уровень 1) CS1682

Не удалось найти тип "тип", который, согласно ссылке, должен содержаться в теле "вложенный тип"

Эта ошибка возникает при импорте ссылок, которые не согласуются с другими ссылками или с написанным кодом. В большинстве случаев ошибка возникает при написании кода со ссылками на класс в метаданных и последующем удалении класса или изменении его определения.

Пример 1

C#
// CS1682.cs  
// compile with: /target:library /keyfile:mykey.snk  
public class A {  
   public class N1 {}  
}  

Пример 2

C#
// CS1682_b.cs  
// compile with: /target:library /reference:CS1682.dll  
using System;  
public class Ref {  
  
   public static A A1() {  
      return new A();  
   }  
  
   public static A.N1 N1() {
      return new A.N1();  
   }  
}  

Пример 3

C#
// CS1682_c.cs  
// compile with: /target:library /keyfile:mykey.snk /out:CS1682.dll  
public class A {  
   public void M1() {}  
}  

Пример 4

Следующий пример приводит к возникновению предупреждения CS1682:

C#
// CS1682_d.cs  
// compile with: /reference:CS1682.dll /reference:CS1682_b.dll /W:1  
// CS1682 expected  
class Tester {  
   static void Main()  
   {  
      Ref.A1().M1();  
   }  
}