İngilizce dilinde oku

Aracılığıyla paylaş


Derleyici Hatası CS1918

'type' türünde 'name' özelliğinin üyeleri, bir değer türünde olduğundan nesne başlatıcıyla atanamaz.

Bu hata, başlatılmakta olan sınıfın özelliği olan bir yapı türünün özelliklerini başlatmak için bir nesne başlatıcı kullanmaya çalıştığınızda oluşur.

Bu hatayı düzeltmek için

  1. Nesne başlatıcıda özelliğin alanlarını tam olarak başlatmanız gerekiyorsa, yapıyı bir sınıf türü olarak değiştirin. Aksi takdirde, nesne başlatıcısını kullanarak nesneyi oluşturduktan sonra yapı üyelerini ayrı bir yöntem çağrısında başlatın.

Örnek

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

// cs1918.cs  
public struct MyStruct  
{  
    public int i;  
  
}  
public class Test  
{  
    private MyStruct str = new MyStruct();  
    public MyStruct Str  
    {  
        get  
        {  
            return str;  
        }  
    }  
    public static int Main()  
    {  
        Test t = new Test { Str = { i = 1 } }; // CS1918  
        return 0;  
    }  
}  

Ayrıca bkz.