【发布时间】:2015-12-11 01:59:21
【问题描述】:
我已将 CSV 文件导入我的 Parse 应用程序。我希望能够将表中的记录作为 ParseObject 的子类来访问。我可以获取表格,并且可以使用例如从记录中获取值myRecord.Get("MyField")。我更愿意通过我的子类的属性来获取字段。
FWIW,我的客户端是 Unity 桌面应用程序。
为了说明我所追求的:
[ParseClassName( "MyRecord" )]
public class MyRecord: ParseObject
{
[ParseFieldName( "MyField" )]
public string MyField
{
get { return GetProperty<string>( "MyField" ); }
set { SetProperty<string>( value, "MyField" ); }
}
//....
}
// elsewhere...
void Example()
{
var query = new ParseQuery<MyTable>();
query.FindAsync().ContinueWith( t =>
{
var anObj = t.Result.First(); // anObj is type ParseObject
var a = anObj.Get<string>( "MyField" ); // works fine
// somehow recast anObj to a MyRecord
var b = myRecord.MyField; // How do I get to this?
} );
}
这可能吗?
[编辑]
关于转换 anObj 的想法:转换会失败,因为事实上 anObj 不是 MyRecord 类型。
我对问题根源的理解是,当我将 CVS 文件导入 Parse 时,Parse 不知道行可以映射到 MyRecord,因此它会将行创建为普通 ParseObject 实例,并将列内置到其字典。我认为 Parse 子类化本质上是一种将属性包装为字典访问器的技术。我希望(虽然不是很期待)Parse 提供了一种在事后进行绑定的本地方式。
【问题讨论】:
-
如果将其转换为 MyRecord,是否会出现错误?例如:MyRecord rec = (MyRecord)anObj 如果可以,您可以编辑您的问题以添加您得到的错误吗?
标签: c# csv subclassing