我有一个结构:
public class FolderDirectoryStructure
{
public string ChildFolder {get; set;}
public FileExtension Extension {get; set;}
}
另一个结构:
public class FileExtension
{
public string Extension {get; set;}
public int ExtensionCount {get; set;}
}
我现在要做的是将现有的FileExtension添加到我的FolderDirectoryStructure。如下所示:
private List<FolderDirectoryStructure> FolderDS = new List<FolderDirectoryStructure>();
private List<FileExtension> extensions = new List<FileExtension>();
extensions.Add(new FileExtension() {Extension = ".jpg", ExtensionCount = 1});
FolderDS.Add(new FolderDirectoryStructure() {ChildFolder =
@"C:\users\blah\desktop\somefolder", Extension = extensions});
这不起作用,因为我收到错误:
无法将Implicity类型'System.Collections.Generic.List'转换为'DirectoryStructure.Extensions'
我也尝试过:
FolderDS.Add(new FolderDirectoryStructure() { ChildFolder =
@"C:\users\blah\desktop\somefolder", Extension = new Extensions()
{extensions.Extension, extensions.ExtensionCount} });
我还想到了一个AddRange,因为我正在尝试添加一系列扩展,但这似乎没有。我似乎已经没有选择了。
所以希望有人可以帮我解决这个问题,我当然会很感激。
答案 0 :(得分:2)
目前Extension
的{{1}}属性属于FolderDirectoryStructure
,您尝试将FileExtension
列表分配给此属性,从而导致错误。因此,最好将属性更改为列表。那么您的代码将正常工作,您可以更改类的定义:
FileExtension
答案 1 :(得分:1)
break;
声明扩展名为public class FolderDirectoryStructure
{
public string ChildFolder {get; set;}
public FileExtension Extension {get; set;}
}
。您尝试在此处分配 FileExtension
:
List<FileExtension>
显然,这是行不通的。修正差异,错误就会消失。
答案 2 :(得分:1)
你有
public FileExtension Extension {get; set;}
但您正在尝试设置变量
extensions
是
List<Extension>
答案 3 :(得分:1)
你的班级有一个扩展对象,但你试图设置列表,你应该像这样重写你的班级:
public class FolderDirectoryStructure
{
public string ChildFolder {get; set;}
public List<FileExtension> Extension {get; set;}
}
答案 4 :(得分:1)
在FolderDirectoryStructure Extension中是一个单独的项目,你不能将一个List分配给FileExtension属性,错误就是说出了什么错误。这项工作
public class FolderDirectoryStructure
{
public string ChildFolder {get; set;}
public List<FileExtension> Extension {get; set;}//change this
}