[英]'Class' is a 'type' but is used like a 'variable'
我正在编写一个使用指纹读取器来捕获某人指纹图像并将其保存在数据库中的应用程序。
我正在忙于将vb逻辑转换为c#,但是我被困在这里...
在我的主要表单中,我有2个类:分别为fingerPrints和fingerImage。
我的问题如下:
在我的fingerPrints类中,我需要引用fingerImage类。 以下是一些代码,以方便说明:
此方法派生自fingerPrint类,该类引用了fingerImage类:
public byte[] getImageFromFinger(string finger)
{
foreach (fingerImage fi in fingerImage)
{
if (fi.Finger == finger)
return fi.Image;
}
return null;
}
我的问题是我似乎无法修复的错误... fingerImage是“类型”,但像“变量”一样使用。
我需要遍历全班10次,每只手指一次,但是我做错了事,我认为这有点小。 任何帮助,将不胜感激。
此外,这是我的fingerImage类中的一些代码,以防万一...
public class fingerImage : frmFingerprintsMain
{
private byte[] _image;
private string _finger;
public fingerImage(byte[] image, string finger)
{
Image = image;
Finger = finger;
}
public byte[] Image
{
get { return _image; }
set { _image = value; }
}
public string Finger
{
get { return _finger; }
set { _finger = value; }
}
}
因为没有名为fingerImage
变量,所以出现了错误。 但是,您确实有一个名为fingerImage
的类型。
您可能需要从某个地方获取fingerImage
的集合以进行迭代。
类是类型 ; 您似乎认为“类”一词与“对象”同义(但是您不能“遍历”一个类 ;但是可以遍历一个可枚举的对象 )。
基本上,您需要的是以下内容:
foreach (fingerImage fi in fingerImage)
...是这样的:
foreach (fingerImage fi in fingerImages)
...其中fingerImages
是fingerImage
类的实例的集合 。
该集合的确切位置,如果没有更多代码,我不能说真的。 但是我假设您在某个地方(可能是fingerImage[]
或List<fingerImage>
?)。
尝试这个:
foreach (FingerImage fi in fingerImages)
{
....
}
注意:
我知道遵循命名约定通常似乎是不必要的工作,但从长远来看,它将节省您的时间,尤其是当您有其他人加入您的团队时。
fingerImage网络fingerImage
这两种类型是相同的,这不应该发生。 后一个fingerImage应该是一个集合。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.