簡體   English   中英

從Xamarin.Forms中的對象獲取BaseType

[英]Get BaseType from object in Xamarin.Forms

我試圖找出我所擁有的object是否為Page類型。 如果我要求GetType()我得到ContentPage ,它是TemplatedPage的子類,它是Page的子類(再次是VisualElement的子類,依此類推)。

我目前的做法

if(parentElement.GetType() == typeof(Page))
{ 
    // do something
}

這是行不通的。 現在,我嘗試獲取C#中所示的BaseType :如何獲取類的基類? 如果我這樣做

Type superClass = parentElement.GetType().BaseType;

我懂了

錯誤CS1061“類型”不包含“ BaseType”的定義,找不到擴展方法“ BaseType”,該擴展方法接受“ Type”類型的第一個參數(是否缺少using指令或程序集引用?)

我有包括System名稱空間以及System.Reflection ,但仍然收到此錯誤。 是否可以在Xamarin.Forms中獲取BaseType

您應該只能夠使用is關鍵字檢查一下。 那將為您解決辛苦的工作。

就像這樣: if (parentElement is Page) { DoStuffHere(); } if (parentElement is Page) { DoStuffHere(); }

如何從列表中獲取密鑰<object>在 Firebase 在 Xamarin.Forms 中?<div id="text_translate"><p> I am programming in Xamarin.Forms, I am also using the FirebaseDatabase [dot] net Nuget I have the following method, in connection to my Firebase Realtime Database, which sends a List.</p><pre> public static async Task&lt;bool&gt; PostDetallePedido(List&lt;AgregarCarrito&gt; carrito) { try { var result = await firebase.Child("DetallePedidos").Child(Preferences.Get("idOrder", string.Empty)).PostAsync(carrito); result2 = result.Key; var keyTable = new KeyClass() { keyU = result2, orderId = Preferences.Get("idOrder", string.Empty) }; await firebase.Child("keyTable").Child(Preferences.Get("idOrder", string.Empty)).PostAsync(keyTable); return true; } catch (Exception e) { Debug.WriteLine($"Error:{e}"); return false; } }</pre><p> 我的數據庫填充如下<a href="https://i.stack.imgur.com/pBxxr.png" rel="nofollow noreferrer">圖1</a></p><p> 使用前面的代碼,我可以獲得唯一 ID,但我仍然不知道如何獲取以自動增量方式生成的值</p><pre>-M7B6xMB19uodzf-C71H | -0 | -1</pre><p> <strong>編輯:</strong></p><pre> public static async Task&lt;List&lt;AgregarCarrito&gt;&gt; GetDetailByUser(int id) { try { var key = await GetKey(id); var value = (await firebase.Child("DetallePedidos").Child(Convert.ToString(id)).Child(key.keyU).OnceAsync&lt;AgregarCarrito&gt;()).Select(item =&gt; new AgregarCarrito { orderId = item.Object.orderId, ProductName = item.Object.ProductName, CustomerId = item.Object.CustomerId, Price = item.Object.Price, TotalAmount = item.Object.TotalAmount, ProductId = item.Object.ProductId, Qty = item.Object.Qty, imageUrl = item.Object.imageUrl, Valor = item.Object.Valor }).ToList(); return value; } catch (Exception e) { Debug.WriteLine($"Error:{e}"); return null; } }</pre><p> 我創建了一個使用 orderId 返回鍵值的方法,但我仍然無法訪問列表的值,在這種情況下,這將是發送列表時以自動增量方式生成的對象</p><p><a href="https://i.stack.imgur.com/ENEas.png" rel="nofollow noreferrer">圖 2</a></p></div></object>

[英]How can I get a key from a List <object> in Firebase in Xamarin.Forms?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 Xamarin.forms:如何從 Listview 獲取對象值 如何從對象中獲取 Xamarin.Forms 元素的名稱? Xamarin.Forms 中的對象處理 如何從列表中獲取密鑰<object>在 Firebase 在 Xamarin.Forms 中?<div id="text_translate"><p> I am programming in Xamarin.Forms, I am also using the FirebaseDatabase [dot] net Nuget I have the following method, in connection to my Firebase Realtime Database, which sends a List.</p><pre> public static async Task&lt;bool&gt; PostDetallePedido(List&lt;AgregarCarrito&gt; carrito) { try { var result = await firebase.Child("DetallePedidos").Child(Preferences.Get("idOrder", string.Empty)).PostAsync(carrito); result2 = result.Key; var keyTable = new KeyClass() { keyU = result2, orderId = Preferences.Get("idOrder", string.Empty) }; await firebase.Child("keyTable").Child(Preferences.Get("idOrder", string.Empty)).PostAsync(keyTable); return true; } catch (Exception e) { Debug.WriteLine($"Error:{e}"); return false; } }</pre><p> 我的數據庫填充如下<a href="https://i.stack.imgur.com/pBxxr.png" rel="nofollow noreferrer">圖1</a></p><p> 使用前面的代碼,我可以獲得唯一 ID,但我仍然不知道如何獲取以自動增量方式生成的值</p><pre>-M7B6xMB19uodzf-C71H | -0 | -1</pre><p> <strong>編輯:</strong></p><pre> public static async Task&lt;List&lt;AgregarCarrito&gt;&gt; GetDetailByUser(int id) { try { var key = await GetKey(id); var value = (await firebase.Child("DetallePedidos").Child(Convert.ToString(id)).Child(key.keyU).OnceAsync&lt;AgregarCarrito&gt;()).Select(item =&gt; new AgregarCarrito { orderId = item.Object.orderId, ProductName = item.Object.ProductName, CustomerId = item.Object.CustomerId, Price = item.Object.Price, TotalAmount = item.Object.TotalAmount, ProductId = item.Object.ProductId, Qty = item.Object.Qty, imageUrl = item.Object.imageUrl, Valor = item.Object.Valor }).ToList(); return value; } catch (Exception e) { Debug.WriteLine($"Error:{e}"); return null; } }</pre><p> 我創建了一個使用 orderId 返回鍵值的方法,但我仍然無法訪問列表的值,在這種情況下,這將是發送列表時以自動增量方式生成的對象</p><p><a href="https://i.stack.imgur.com/ENEas.png" rel="nofollow noreferrer">圖 2</a></p></div></object> Xamarin.Forms在ListView中的條目更改時獲取ListView的對象 如何從 Xamarin.Forms 中的 UWP 訪問 PCL 中的參數 如何從 Xamarin.Forms 獲得連續的地理定位? 如何從Xamarin.Forms中的流獲取圖像的路徑 Xamarin.Forms將文本綁定到對象屬性 Xamarin.Forms JSON對象進入Listview
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM