所以我使用ASP.net并尝试将模型/字符串添加到List
public class Playlist
{
public Playlist()
{
this.placeList = new List<places>();
}
[Key]
public int id { get; set; }
public string name { get; set; }
[ForeignKey("UserId")]
public IdentityUser User { get; set; }
public string UserId { get; set; }
public List<places> placeList { get; set; }
public class places
{
[Key]
public int places_id { get; set; }
public string id { get; set; }
}
}
我按照自己的意愿将字符串作为字符串。我希望
Playlist playlist = new Playlist();
playlist.placeList.Add("hi")
会导致在id字段中添加一个条目,但我得到一个错误说法。 System.Collection.Generic.List的最佳重载方法匹配具有无效参数。所以我尝试创建另一个模型。
public class PlaceModel2
{
public string id { get; set; }
}
并添加
PlaceModel2 f = new PlaceModel2();
f.id = ("hi");
playlist.placeList.Add(f);
我认为这会有效,但这只是给了我同样的错误。任何线索?
答案 0 :(得分:1)
下面:
Playlist playlist = new Playlist();
playlist.placeList.Add("hi")
您正尝试将string
个对象添加到List
个places
个对象
下面:
PlaceModel2 f = new PlaceModel2();
f.id = ("hi");
playlist.placeList.Add(f);
您正尝试将PlaceModel2
添加到places
您的类型不匹配,您需要创建places
对象并将其添加到List。所以对象匹配类型:
var f = new Playlist.places();
f.id = "hi";
playlist.placeList.Add(f);
如果要向placeList
添加不同的类对象,则需要创建从places
类继承的类。然后,您将能够将派生类对象添加到基类对象列表中。
答案 1 :(得分:0)
在第一种情况下
Playlist playlist = new Playlist();
playlist.placeList.Add("hi")
您要将string
添加到List<places>
而不是places
对象
在第二种情况下
PlaceModel2 f = new PlaceModel2();
f.id = ("hi");
playlist.placeList.Add(f);
您要将PlaceModel2
添加到List<places>
而不是places
对象。
纠正它,你的问题将得到解决
答案 2 :(得分:0)
您的收藏品有T作为课程名称。为了使它工作,你必须添加这样的东西:
var place = new places(){ /*initialize properties*/ };
Playlist playlist = new Playlist();
playlist.placeList.Add(place);
您的收藏是列表不列出,这就是为什么它不起作用。
答案 3 :(得分:0)
List<Places>
只能包含一个地方列表类。
您正在尝试将字符串添加到地方列表中。
所以你需要做这样的事情:
Places places = new Places();
places.id="hi";
Playlist playlist = new Playlist();
playlist.placeList.Add(places) ;