无法转换为类型';system.collections.generic.IList<;microsoft.azure.cognitiveservices.vision.computervision.models.visualfeaturetypes?>';

无法转换为类型';system.collections.generic.IList<;microsoft.azure.cognitiveservices.vision.computervision.models.visualfeaturetypes?>';,azure,computer-vision,azure-cognitive-services,Azure,Computer Vision,Azure Cognitive Services,我正在尝试使用计算机视觉dot net SDK调用azure认知计算机视觉服务API来分析图像 下面是我的代码 List<VisualFeatureTypes> features1 = new List<VisualFeatureTypes>() { VisualFeatureTypes.Categories, VisualFeatureTypes.Description, VisualFeatureTypes.Fa

我正在尝试使用计算机视觉dot net SDK调用azure认知计算机视觉服务API来分析图像 下面是我的代码

        List<VisualFeatureTypes> features1 = new List<VisualFeatureTypes>()
    {
        VisualFeatureTypes.Categories, VisualFeatureTypes.Description,
        VisualFeatureTypes.Faces, VisualFeatureTypes.ImageType,
        VisualFeatureTypes.Tags, VisualFeatureTypes.Adult,
        VisualFeatureTypes.Color, VisualFeatureTypes.Brands,
        VisualFeatureTypes.Objects
     };

        ComputerVisionClient client =
          new ComputerVisionClient(new ApiKeyServiceClientCredentials(key))
          { Endpoint = endpoint};
        ImageAnalysis results = await client.AnalyzeImageAsync(imageUrl, features1);
列表功能1=新列表()
{
VisualFeatureTypes.类别,VisualFeatureTypes.描述,
VisualFeatureTypes.Faces、VisualFeatureTypes.ImageType、,
VisualFeatureTypes.标记,VisualFeatureTypes.成人,
视觉特征类型。颜色,视觉特征类型。品牌,
VisualFeatureTypes.Object
};
ComputerVisionClient客户端=
新的ComputerVisionClient(新的ApiKeyServiceClientCredentials(键))
{Endpoint=Endpoint};
ImageAnalysisResults=await client.AnalyzeMageAsync(imageUrl,功能1);
我收到以下错误消息

无法将类型“system.collections.generic.List”转换为类型“system.collections.generic.IList”

请查找屏幕截图以供参考 以下是computer vision SDK使用计算机视觉分析图像的方法

public static async Task<ImageAnalysis> AnalyzeImageAsync(this IComputerVisionClient operations, string url, IList<VisualFeatureTypes?> visualFeatures = default(IList<VisualFeatureTypes?>), IList<Details?> details = default(IList<Details?>), string language = default(string), IList<DescriptionExclude?> descriptionExclude = default(IList<DescriptionExclude?>), CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.AnalyzeImageWithHttpMessagesAsync(url, visualFeatures, details, language, descriptionExclude, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
public static async Task AnalyzeImageAsync(此IComputerVisionClient操作,字符串url,IList visualFeatures=default(IList),IList details=default(IList),string language=default(string),IList descriptionExclude=default(IList),CancellationToken CancellationToken=default(CancellationToken))
{
使用(var_result=await operations.analyzeImageWithTtpMessageAsync(url、visualFeatures、details、language、descriptionExclude、null、cancellationToken)。配置等待(false))
{
返回结果体;
}
}
以下是computer vision SDK使用computer vision分析图像的方法

public static async Task<ImageAnalysis> AnalyzeImageAsync(this IComputerVisionClient operations, string url, IList<VisualFeatureTypes?> visualFeatures = default(IList<VisualFeatureTypes?>), IList<Details?> details = default(IList<Details?>), string language = default(string), IList<DescriptionExclude?> descriptionExclude = default(IList<DescriptionExclude?>), CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.AnalyzeImageWithHttpMessagesAsync(url, visualFeatures, details, language, descriptionExclude, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
public static async Task AnalyzeImageAsync(此IComputerVisionClient操作,字符串url,IList visualFeatures=default(IList),IList details=default(IList),string language=default(string),IList descriptionExclude=default(IList),CancellationToken CancellationToken=default(CancellationToken))
{
使用(var_result=await operations.analyzeImageWithTtpMessageAsync(url、visualFeatures、details、language、descriptionExclude、null、cancellationToken)。配置等待(false))
{
返回结果体;
}
}

我对可空类型的转换也有同样的问题。这似乎有效:

IList<VisualFeatureTypes?> visualFeatures = new List<VisualFeatureTypes?>();
            visualFeatures.Add(VisualFeatureTypes.Description);
            visualFeatures.Add(VisualFeatureTypes.Categories);
            visualFeatures.Add(VisualFeatureTypes.Tags);
            visualFeatures.Add(VisualFeatureTypes.Faces);
            visualFeatures.Add(VisualFeatureTypes.Brands);
            visualFeatures.Add(VisualFeatureTypes.Objects);
            visualFeatures.Add(VisualFeatureTypes.ImageType);

            return vision.AnalyzeImageInStreamAsync(imageStream, visualFeatures).GetAwaiter().GetResult();

IList visualFeatures=new List();
添加(VisualFeatureTypes.Description);
添加(VisualFeatureTypes.Categories);
添加(VisualFeatureTypes.Tags);
添加(VisualFeatureTypes.Faces);
visualFeatures.Add(VisualFeatureType.Brands);
添加(VisualFeatureTypes.Object);
添加(VisualFeatureTypes.ImageType);
返回vision.AnalyzeImageInStreamAsync(imageStream,visualFeatures).getWaiter().GetResult();

我对可空类型的转换也有同样的问题。这似乎有效:

IList<VisualFeatureTypes?> visualFeatures = new List<VisualFeatureTypes?>();
            visualFeatures.Add(VisualFeatureTypes.Description);
            visualFeatures.Add(VisualFeatureTypes.Categories);
            visualFeatures.Add(VisualFeatureTypes.Tags);
            visualFeatures.Add(VisualFeatureTypes.Faces);
            visualFeatures.Add(VisualFeatureTypes.Brands);
            visualFeatures.Add(VisualFeatureTypes.Objects);
            visualFeatures.Add(VisualFeatureTypes.ImageType);

            return vision.AnalyzeImageInStreamAsync(imageStream, visualFeatures).GetAwaiter().GetResult();

IList visualFeatures=new List();
添加(VisualFeatureTypes.Description);
添加(VisualFeatureTypes.Categories);
添加(VisualFeatureTypes.Tags);
添加(VisualFeatureTypes.Faces);
visualFeatures.Add(VisualFeatureType.Brands);
添加(VisualFeatureTypes.Object);
添加(VisualFeatureTypes.ImageType);
返回vision.AnalyzeImageInStreamAsync(imageStream,visualFeatures).getWaiter().GetResult();

您可以分享您正在尝试的样本的链接吗?您可以分享您正在尝试的样本的链接吗。