最近在学习泛型,遇到可访问性不一致的问题,网上说是加public 但在duck类前加不能通过,求解释~
可访问性不一致: 参数类型“System.Collections.Generic.List<ConsoleApplication2.Program.Duck>”比方法“ConsoleApplication2.Program.PrintDuck(System.Collections.Generic.List<ConsoleApplication2.Program.Duck>)”的可访问性低 class Program
{
enum KindOfDuck
{
Mallard,
Muscovy,
Decoy,
};
class Duck : IComparable<Duck>
{
public int Size;
public KindOfDuck Kind; public int CompareTo(Duck duckToCompare)
{
if (this.Size > duckToCompare.Size)
{
return 1;
}
else if (this.Size < duckToCompare.Size)
{
return -1;
}
else
return 0;
} }
class DuckBySize : IComparer<Duck>
{ public int Compare(Duck x, Duck y)
{
if (x.Size > y.Size)
{
return 1;
}
if (x.Size < y.Size)
{
return -1;
} return 0; }
}
public static void PrintDuck(List<Duck> ducks)
{
foreach (Duck duck in ducks)
{
Console.WriteLine("there is duck {0},{1}", duck.Kind.ToString(), duck.Size.ToString());
}
}
static void Main(string[] args)
{
List<Duck> ducks = new List<Duck>
{
new Duck() { Kind = KindOfDuck.Mallard, Size = 17 },
new Duck() { Kind = KindOfDuck.Muscovy, Size = 18 },
new Duck() { Kind = KindOfDuck.Decoy, Size = 14 },
new Duck() { Kind = KindOfDuck.Muscovy, Size = 11 },
new Duck() { Kind = KindOfDuck.Mallard, Size = 14 },
new Duck() { Kind = KindOfDuck.Decoy, Size = 13 },
}; DuckBySize p = new DuckBySize();
ducks.Sort(p);
PrintDuck(ducks);
}
}
}
可访问性不一致: 参数类型“System.Collections.Generic.List<ConsoleApplication2.Program.Duck>”比方法“ConsoleApplication2.Program.PrintDuck(System.Collections.Generic.List<ConsoleApplication2.Program.Duck>)”的可访问性低 class Program
{
enum KindOfDuck
{
Mallard,
Muscovy,
Decoy,
};
class Duck : IComparable<Duck>
{
public int Size;
public KindOfDuck Kind; public int CompareTo(Duck duckToCompare)
{
if (this.Size > duckToCompare.Size)
{
return 1;
}
else if (this.Size < duckToCompare.Size)
{
return -1;
}
else
return 0;
} }
class DuckBySize : IComparer<Duck>
{ public int Compare(Duck x, Duck y)
{
if (x.Size > y.Size)
{
return 1;
}
if (x.Size < y.Size)
{
return -1;
} return 0; }
}
public static void PrintDuck(List<Duck> ducks)
{
foreach (Duck duck in ducks)
{
Console.WriteLine("there is duck {0},{1}", duck.Kind.ToString(), duck.Size.ToString());
}
}
static void Main(string[] args)
{
List<Duck> ducks = new List<Duck>
{
new Duck() { Kind = KindOfDuck.Mallard, Size = 17 },
new Duck() { Kind = KindOfDuck.Muscovy, Size = 18 },
new Duck() { Kind = KindOfDuck.Decoy, Size = 14 },
new Duck() { Kind = KindOfDuck.Muscovy, Size = 11 },
new Duck() { Kind = KindOfDuck.Mallard, Size = 14 },
new Duck() { Kind = KindOfDuck.Decoy, Size = 13 },
}; DuckBySize p = new DuckBySize();
ducks.Sort(p);
PrintDuck(ducks);
}
}
}
解决方案 »
- C# 中有关String.Length
- c# 程序,在一台机器上不能操作另一台服务器上的数据库(sqlsserver2000)?这台客户端需要安装什么?
- 关注正则表达式 求解释 多谢
- 使用ExecuteScalar()执行的结果可以作为repeater的数据源吗
- 有一个可以代理 买 国外控件 的网站 网址是什么
- c#调用存储过程包的函数
- 编写一个算法,求数字是否为质数(素数)
- 急~~~~ 如何修改DataTable,根据多个列的值
- 我写了一个基类没有继承System.Windows.Forms.Control,请问如何加设计时属性
- Http协议怎么POST多段数据,就是MIME那个样子的,HttpRequest类可以做到吗
- pictureBox1 问题2个,请赐教
- SqlCommand SqlDataReader
public static void PrintDuck(List<Duck> ducks)
{
foreach (Duck duck in ducks)
{
Console.WriteLine("there is duck {0},{1}", duck.Kind.ToString(), duck.Size.ToString());
}
}
{
Mallard,
Muscovy,
Decoy,
}; 这里加 public class Duck : IComparable<Duck>
{ public int Size;
public KindOfDuck Kind; public int CompareTo(Duck duckToCompare)
{
if (this.Size > duckToCompare.Size)
{
return 1;
}
else if (this.Size < duckToCompare.Size)
{
return -1;
}
else
return 0;
} }