c#中数组的GetStringAttribute("")方法
时间: 2024-09-29 17:08:52 浏览: 49
在 C# 中,`GetStringAttribute(string)` 方法通常不是标准库的一部分,它看起来像是自定义的属性访问方法。C# 的数组本身并没有内置的 GetStringAttribute 方法。然而,如果你在一个类或结构体上使用了 `[System.ComponentModel.StringValue]` 或其他自定义的 `Attribute`,并想要通过其名称获取属性值,那么可能会有一个类似的方法。
例如,假设你有这样一个自定义属性:
```csharp
[AttributeUsage(AttributeTargets.Property)]
public class MyStringAttribute : Attribute
{
public string Value { get; set; }
public MyStringAttribute(string value)
{
Value = value;
}
}
// 类或结构体里使用这个属性
class MyClass
{
[MyString("Hello")]
public string MyProperty { get; set; }
}
```
你可以创建一个辅助方法来获取属性值:
```csharp
public static string GetCustomStringAttribute<T>(this T obj, string attributeName) where T : class
{
var attr = (MyStringAttribute)obj.GetType().GetCustomAttributes(typeof(MyStringAttribute), false).FirstOrDefault();
return attr?.Value ?? "";
}
```
然后在需要的地方调用:
```csharp
string myValue = MyClass.MyClassInstance.GetCustomStringAttribute<MyStringAttribute>("MyProperty");
```
阅读全文