2011-12-14 31 views
1

嗨我有一些麻烦,使这个代码运行的珍闻,因为我得到一个运行时错误Kennel.Kennel()必须申报一个机构,因为它不标明抽象,外部或部分。如果可以,请提供建议和帮助。非常感激。C#运行时错误声明一个正文,因为它没有标记为抽象,外部或部分

using System; 
using System.Collections.Generic; 
using System.Text; 

public class Kennel : IComparable<Kennel> 
{ 
    private string _name; 
    private string _breed; 

    public string Name 
    { 

     get { return _name; } 
     set { _name = value; } 
    } 

    public string Breed 
    { 
     get { return _breed; } 
     set { _breed = value; } 
    } 

    public override string ToString() 
    { 
     return String.Format("Name: {0}, Breed: {1}", Name, Breed); 
    } 

    public Kennel(); 

    public Kennel(string name, string breed) 
    { 
     this._name = name; 
     this._breed = breed; 
    } 

    #region #IComparable<Kennel> Members 

    public int CompareTo(Kennel other) 
    { 
     return other.Name.CompareTo(this.Name); 
    } 

    #endregion 

} 


class Run 
{ 
public static void Main() 
     { 
      List<Kennel> kennels = new List<Kennel>(); 
      kennels.Add(new Kennel("Alan", "French Bulldog")); 
      kennels.Add(new Kennel("Larry", "English Terrier")); 
      kennels.Add(new Kennel("Moe", "Gold Retriever")); 
      kennels.Add(new Kennel("Curly", "Chihuahua")); 

      foreach (Kennel k in kennels) 
      { 
       Console.WriteLine("Name: {0}, Breed: {1}", k.Name, k.Breed); 
      } 


      kennels.Sort(); 
      foreach (Kennel k in kennels) 
      { 
       Console.WriteLine("Name: {0}, Breed: {1}", k.Name, k.Breed); 
      } 


     } 
} 
+0

它看起来像Kennel()的第一个构造函数没有与它关联的代码。你应该添加大括号来定义正文,即使是空的 – Sparky 2011-12-14 03:35:52

回答

1
public Kennel(); 

这是没有意义的。

对于空参数构造函数,你仍然需要一个身体:

public Kennel() 
{} 
1

为养犬您的默认构造函数没有执行/身体

更换

public Kennel(); 

public Kennel() {} 
1

我猜你的错误是在这条线上:

public Kennel(); 

你正在声明一个方法,但没有实现。无论是将其删除(这就是我想要做的),或者将其更改为:

public Kennel() {} 

如果你的目的是为了防止人们构建一个对象而不提供namebreed值,可以让这个构造私有:

private Kennel() {} 
0

那么,你不明白什么? Kennel的构造函数必须声明一个body,有什么不明白的地方?

如果你想身体是空的,然后继续前进,把它声明空:

public Kennel() { } 

而且不能声明主体。

相关问题