📜  在 C# 中获取点后(1)

📅  最后修改于: 2023-12-03 15:07:37.605000             🧑  作者: Mango

在 C# 中获取点后

在 C# 中,获取点后的方式主要有两种:使用“.”和使用反射。

使用“.”

当访问一个对象的属性或方法时,可以使用“.”获取点后的信息。例如,当访问一个字符串的Length属性时,可以使用以下代码:

string str = "Hello world";
int length = str.Length;

这里,点后的信息是Length属性,使用“.”就能轻松获取。

使用反射

使用反射可以动态地获取任何类型的成员信息,包括属性、方法、字段等等。这种方式更加灵活,但也更加复杂。以下是使用反射获取点后信息的示例:

Type type = typeof(string);
PropertyInfo property = type.GetProperty("Length");
MethodInfo method = type.GetMethod("Substring", new Type[] { typeof(int) });

string str = "Hello world";
int length = (int)property.GetValue(str, null);
string sub = (string)method.Invoke(str, new object[] { 6 });

在这里,我们首先使用typeof关键字获取字符串类型的Type对象,然后使用Type对象的GetProperty方法和GetMethod方法获取Length属性和Substring方法的MethodInfo对象。接着,我们创建一个字符串实例,然后分别使用property.GetValue方法和method.Invoke方法获取属性和方法的值。

总结

以上介绍了在 C# 中获取点后的两种方式。使用“.”可以轻松获取一个对象的属性或方法,而使用反射可以动态地获取任何类型的成员信息。需要根据不同的需求来选择不同的方法。