代碼如下:
public static string OutNull<T>()
{
JObject outjob = new JObject();
JObject job = new JObject();
JArray List = new JArray();
if (typeof(T) == typeof(JArray))
outjob.Add(new JProperty("list", List));
else if (typeof(T) == typeof(JObject))
outjob.Add(new JProperty("data", job));
else if (typeof(T) == typeof(string))
outjob.Add(new JProperty("data", ""));
return JsonDo.JobjectToJson(outjob);
}
uj5u.com熱心網友回復:
意義很明顯啊,就是為了獲取泛型的型別呀,然后根據型別定義Json結構uj5u.com熱心網友回復:
你也可以定義成 public static string OutNull(Type type)uj5u.com熱心網友回復:
有代碼自己測驗下就知道了,傳入不同型別看回傳結果的區別。
uj5u.com熱心網友回復:
無需糾結,因為沒意義,這是一種無可奈何的選擇,正常情況是 retrun new {data=https://bbs.csdn.net/topics/obj}后端只管DDD,model,他不管啥外面的協議
然后前端跟他說,lao zi不會玩一個data 又表示集合,又表示object,又表示string的搞法
所以后端只能無可奈何,一邊吐槽前端垃圾,一邊寫出這么個垃圾玩意來對付了
uj5u.com熱心網友回復:
避免傳入不同型別的值寫多個方法的情況。可以看下這個,講的很清楚
https://blog.csdn.net/kebi007/article/details/77800954
uj5u.com熱心網友回復:
存在就有必要,一般是為了兼容寫的,這樣可以有效的避免重復代碼,等你代碼寫道一定高度,你也會覺得泛型在一些場景下的確很好uj5u.com熱心網友回復:
這只是一個展示,不是一個實際可用的玩意對于前端來說一個data端足夠。而對于前端 會寫防御性的 data=https://bbs.csdn.net/topics/ xxx||d.data 都是基本型,一個不會處理null,不會處理“”,不會處理[]的前端,俺們可以直接開掉的,我可以將就你,寫這么一個垃圾玩意,BAT會將就你?你呼叫BAT的代碼,有null了,你讓BAT給你改??
uj5u.com熱心網友回復:
回傳一個空的 json 結構,空的 物件轉載請註明出處,本文鏈接:https://www.uj5u.com/net/284723.html
標籤:C#
上一篇:SOCKET 發送資料
下一篇:圖片需求,了解的不多,請多多指教
