İngilizce dilinde oku

Aracılığıyla paylaş


Derleyici Hatası CS0425

'method' yönteminin 'type parameter' tür parametresi kısıtlamaları, 'method' arabirim yönteminin 'type parameter' tür parametresinin kısıtlamalarıyla eşleşmelidir. Bunun yerine açık bir arabirim uygulaması kullanmayı göz önünde bulundurun.

Bu hata, türetilmiş bir sınıfta sanal genel yöntem geçersiz kılınırsa ve türetilmiş sınıftaki yöntemdeki kısıtlamalar temel sınıftaki yöntemdeki kısıtlamalarla eşleşmiyorsa oluşur. Bu hatayı önlemek için yan tümcesinin where her iki bildirimde de aynı olduğundan emin olun veya arabirimi açıkça uygulayın.

Örnek 1

Aşağıdaki örnek CS0425 oluşturur:

C#
// CS0425.cs  
  
class C1  
{  
}  
  
class C2  
{  
}  
  
interface IBase  
{  
    void F<ItemType>(ItemType item) where ItemType : C1;  
}  
  
class Derived : IBase  
{  
    public void F<ItemType>(ItemType item) where ItemType : C2  // CS0425  
    {  
    }  
}  
  
class CMain  
{  
    public static void Main()  
    {  
    }  
}  

Örnek 2

Kısıtlamalar kümesi aynı anlama sahip olduğu sürece kısıtlamaların değişmez değerle eşleşmesi gerekmez. Örneğin, aşağıdakiler uygun:

C#
// CS0425b.cs  
  
interface J<Z>  
{  
}  
  
interface I<S>  
{  
    void F<T>(S s, T t) where T: J<S>, J<int>;  
}  
  
class C : I<int>  
{  
    public void F<X>(int s, X x) where X : J<int>  
    {  
    }  
  
    public static void Main()  
    {  
    }  
}