簡體   English   中英

在.net中這叫什么?

[英]What is this thingy called in .net?

我記得前一段時間,我正在基於C#剃須刀的網頁上工作。 有一個響應屬性,用作控制器和頁面之間的一種管道。 我不知道它叫什么,但它有一個有趣的特性-

基本上,它的工作方式類似於字典(包含字符串,對象),因此您可以按任何名稱在其中轉儲任何內容,除非您會像這樣使用它:

ThingNameIDontRemember.name =隨便

在添加了我想要的內容之后,我認為它們甚至出現在了另一端的智能感知自動完成中(與您對通用對象的期望不同)

該類型稱為什么類型,並且在mvc捆綁包之外也可用? 我真的可以在當前的vb.net項目中使用類似的方法。

我認為您正在尋找ViewBag

ViewBag屬性使您可以動態地將值從控制器共享到視圖。 這是一個動態對象,這意味着它沒有預定義的屬性。 您可以通過簡單地將ViewBag添加到屬性中來定義它們。 在視圖中,通過對屬性使用相同的名稱來檢索這些值。

更一般而言,C#4引入了使用dynamic類型的dynamic類型化-如果表達式的類型為dynamic ,則綁定(確定名稱的含義)直到執行時間才會發生。 例如:

dynamic d = "foo";
Console.WriteLine(d.Length); // Uses string.Length
d = new int[10];
Console.WriteLine(d.Length); // Uses the array Length
Console.WriteLine(d.Bang()); // Compiles, but will throw at execution time

對於常規抓斗,可以使用ExpandoObject

dynamic expando = new ExpandoObject();
expando.Foo = 10;
expando.Bar = "Some string";
Console.WriteLine(expando.Foo); // 10

動態類型還有很多,但希望這就是您想要的。

暫無
暫無

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM