我嘗試正常添加默認建構式并使用[JsonConstructor]屬性,但它不起作用。我清理并洗掉了所有專案中的 Bin 和 Obj,還更新了 NewtonSoft JSON 包。在發布模式下似乎沒有任何效果。
uj5u.com熱心網友回復:
那么為什么你不嘗試使用 new T2() 而不是 default(T2) 呢?
為此,您需要在您的操作定義處定義 new(),類。
uj5u.com熱心網友回復:
這是一個聯結器問題,您需要提示它不應該洗掉該建構式,因為它永遠不會被直接呼叫。
一個技巧是創建一個類,類似于LinkerPleaseInclude并創建方法來暗示通常會鏈接出來的事物的使用。確保告訴編譯器不要用屬性鏈接掉這個類[Preserve]。
這可能看起來像:
[Preserve(AllMembers = true)]
public class LinkerPleaseInclude
{
public void Include(Login login)
{
login = new Login();
}
}
然后對所有需要它的型別執行此操作。
uj5u.com熱心網友回復:
您可以添加一個PreserveAttribute到您的類別庫:
public sealed class PreserveAttribute : Attribute
{
public bool AllMembers;
public bool Conditional;
public PreserveAttribute (bool allMembers, bool conditional)
{
AllMembers = allMembers;
Conditional = conditional;
}
public PreserveAttribute ()
{
}
}
然后在您的 JSON 模型/類上使用該屬性:
[Preserve(AllMembers = true)]
public class Login
{
public string access_token { get; set; }
public string token_type { get; set; }
public int expires_in { get; set; }
public string userName { get; set; }
public string issued { get; set; }
public string expires { get; set; }
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/416184.html
標籤:
