gpt4 book ai didi

javascript - 如何像使用 javascript 一样在 C# 中创建具有属性的简单对象

转载 作者:可可西里 更新时间:2023-11-01 02:03:03 24 4
gpt4 key购买 nike

我正在使用 Xamarin,我需要这样的东西:

public Colors = new object() {
Blue = Xamaring.Color.FromHex("FFFFFF"),
Red = Xamarin.Color.FromHex("F0F0F0")
}

所以我以后可以做这样的事情:

myObject.Colors.Blue // returns a Xamarin.Color object

当然,这不会编译。显然,我需要为此创建一个全新的类,这是我不想做也不认为应该做的事情。在 javascript 中,我可以做这样的事情:

this.colors = { blue: Xamarin.Color.FromHex("..."), red: Xamarin... }

是否有升 C 的东西可以帮助我快速实现这一目标?谢谢

最佳答案

您可以创建动态对象(https://msdn.microsoft.com/en-us/library/system.dynamic.expandoobject%28v=vs.110%29.aspxhttps://msdn.microsoft.com/en-us/library/bb397696.aspx)。但是 C# 是一种强类型语言……而不是像 javascript 这样的非类型语言。因此,创建一个新类是在 C# 中执行此操作的方法。

使用动态对象的示例:

public class Program
{
static void Main(string[] args)
{
var colors = new { Yellow = ConsoleColor.Yellow, Red = ConsoleColor.Red };
Console.WriteLine(colors.Red);
}
}

或者使用 ExpandoObject:

public class Program
{
static void Main(string[] args)
{
dynamic colors = new ExpandoObject();
colors.Red = ConsoleColor.Red;
Console.WriteLine(colors.Red);
}
}

或者更多的 C# OO 方法……创建一个类:

public class Program
{
static void Main(string[] args)
{
var colors = new List<Color>
{
new Color{ Color = ConsoleColor.Black, Name = "Black"},
new Color{ Color = ConsoleColor.Red, Name = "Red"},
};
Console.WriteLine(colors[0].Color);
}
}

public class Color
{
public ConsoleColor Color { get; set; }
public String Name { get; set; }
}

我建议使用最新版本。

关于javascript - 如何像使用 javascript 一样在 C# 中创建具有属性的简单对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30313846/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com