我正在尝试将XML文档转换为具有预定义类的List <>
我的xml数据集TestData.xml
<Objects>
<Object ID="1">
<ItemOne>"Hickory"</ItemOne>
<ItemTwo>"Dickory"</ItemTwo>
<ItemThree>"Dock"</ItemThree>
</Object>
<Object ID="2">
<ItemOne>"The"</ItemOne>
<ItemTwo>"Mouse"</ItemTwo>
<ItemThree>"Went"</ItemThree>
</Object>
</Objects>
Run Code Online (Sandbox Code Playgroud)
主程序
class Program
{
static void Main(string[] args)
{
XElement TestData = XElement.Load("TestData.xml");
List<Test> myTest = new List<Test>(from d in TestData.Descendants("Objects")
select new Test(
d.Element("ItemOne").Value.ToString(),
d.Element("ItemTwo").Value.ToString(),
d.Element("ItemThree").Value.ToString()));
myTest.ForEach(i => Console.WriteLine("{0} {1} {2}", i.itemOne, i.itemTwo, i.itemThree));
Console.ReadLine();
}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试将数据形成的类
class Test
{
public string itemOne { get; set; }
public string itemTwo { get; set; }
public string itemThree { get; set; } …Run Code Online (Sandbox Code Playgroud) 我现在正在学习异步(UWP)方法,并且不能完全理解语法.所有示例都有很多事情,而不仅仅是Task异步调用,并没有真正显示它们是如何启动的.我不明白的主要问题是如何从非异步方法启动任务.每当我尝试调用任务时,它都希望我将该方法转换为异步方法.反过来又希望我将任何调用该方法的方法转为异步.那你怎么开始呢?
我正在尝试的当前用例是从UWP localstorage中检索一个充满用户名和ID的JSON文件,现在UWP中的这是一个异步调用.我很确定我的方法是正确的但是我在调用它时遇到了问题.目前我在它支持的页面后面的代码中调用方法,其中实际方法当前驻留在User Class中.
这是我的代码:
public async Task<List<User>> getUsers()
{
List<User> u = new List<User>();
StorageFolder folder = ApplicationData.Current.LocalFolder;
StorageFile file = await folder.GetFileAsync("LocalUsers.txt");
string Json = await FileIO.ReadTextAsync(file);
List<User> existingUsers = new List<User>();
existingUsers = JsonConvert.DeserializeObject<List<User>>(Json);
return existingUsers;
}
Run Code Online (Sandbox Code Playgroud)
这就是我试图从后面的代码中调用方法的方法
List<User> users = await User.getUsers();
Run Code Online (Sandbox Code Playgroud)
我已经尝试过像这样运行任务,但我不认为我的sytax是正确的
Task t = new Task(User.getUsers());
Run Code Online (Sandbox Code Playgroud)
任何援助都会得到很大的帮助.谢谢.
对不起,如果标题不是很具描述性.我不知道怎么形容这个.
首先,我创建了一个这样的界面:
public interface IUser {}
Run Code Online (Sandbox Code Playgroud)
然后在几个类中实现它,如下所示:
public class Student : IUser {}
public class Teacher : IUser {}
Run Code Online (Sandbox Code Playgroud)
然后我创建了一个需要第一个接口的接口
public class IUsers
{
List<IUser> Users {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
然后我创建了一个使用第二个接口的类,但是使用了第一个接口的一个成员来填充合同.
public class Students : IUsers
{
List<Student> Users {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
问题是我想要将列表限制为仅仅一个接口实现的最后一个,但仍需要维护接口以实现数据兼容性.当我这样做时,我得到一个错误,说我没有实现接口.我认为,既然学生已经实现了界面,它就可以填补这个义务,但似乎并没有.这是正确的还是我做错了什么