2010-10-11 14 views
5

Bir sınıf oluşturmak için bir öğretici takip ediyorum:C# derleyici hatası CS1526: Yeni bir ifade, türden sonra(), [] veya {} gerektirir

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 

namespace Session3 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      Vehicle my_Car = new Vehicle; 
     } 
    } 
    class Vehicle 
    { 
     uint mileage; 
     byte year; 
    } 
} 

Bu satırdaki sözü geçen hatayı alıyorum:

private void button1_Click(object sender, EventArgs e) 
{ 
    Vehicle my_Car = new Vehicle; 
} 

Yanlış yaptığımı bilen var mı?

+1

bunu deneyin: Araç my_Car = new Vehicle(); – Crag

cevap

13

Kullanım

Vehicle my_Car = new Vehicle(); 

bir kurucu çağırmak için sadece işlev çağrıları için olduğu gibi, sınıf adından sonra () gerekir. Aşağıdakilerden

biri gerekiyor: Bir yapıcı çağrısı için

  • (). Örneğin. Bir başlatıcı olarak, örn., new Vehicle() veya new Vehicle(...)
  • {}. Diziler için, örneğin, new Vehicle { year = 2010, mileage = 10000}
  • []. new int[3], new int[]{1, 2, 3} hatta sadece new []{1, 2, 3}
4

sözdizimi olmalıdır:

Vehicle my_Car = new Vehicle(); 
2

daha sonra C# 3 veya çalışıyorsanız varsayarsak new Vehicle()

1

deneyin, ayrıca örtülü yazarak kullanmak ve bunu yapabilirsiniz:

var my_Car = new Vehicle(); 

aynı IL olduğunu her iki durumda da üretilir.

İlgili konular