这是parse.com Documentation关于子类化ParseObjects的内容:
[ParseClassName("Armor")]
public class Armor : ParseObject
{
[ParseFieldName("displayName")]
public string DisplayName
{
get { return GetProperty<string>(); }
set { SetProperty<string>(value); }
}
}
问题#1 :示例错了;这两种方法都需要一个propertyName
参数,所以这就是我做的事情
[ParseFieldName("seed")]
public int Seed {
get { return GetProperty<int>("seed"); }
set { SetProperty<int>(value, "seed"); }
}
问题#2 :这样做,我得到以下异常:
ArgumentNullException: Argument cannot be null.
Parameter name: key
System.Collections.Generic.Dictionary`2[System.String,System.Object].ContainsKey (System.String key) (at /Users/builduser/buildslave/mono-runtime-and- classlibs/build/mcs/class/corlib/System.Collections.Generic/Dictionary.cs:458)
Parse.ParseObject.ContainsKey (System.String key)
Parse.ParseObject.TryGetValue[Int32] (System.String key, System.Int32& result)
Parse.ParseObject.GetProperty[Int32] (Int32 defaultValue, System.String propertyName)
Parse.ParseObject.GetProperty[Int32] (System.String propertyName)
Example.get_Seed () (at Assets/Commons/Parse/Example.cs:10)
我没有解析源代码,所以我无法通过调试,但这看起来像是一个错误(在一个非常基本的API中)。所以我想知道;我做错了什么?无论出于何种原因,我注意到Get<T>()
也是IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP
,但也没有运气。
更新:我使用的是Parse.Unity 1.6.2.0
答案 0 :(得分:0)
看起来propertyName字段区分大小写,并且必须与属性的名称匹配:
[ParseFieldName("Seed")]
public int Seed {
get { return GetProperty<int>("Seed"); }
set { SetProperty<int>(value, "Seed"); }
}
// Seed is capitalized in all occurrences above