![](/img/trans.png)
[英]C# how to determine, whether ArrayList contains object with certain attribute
[英]How to determine whether an object can be convert to meaningful string in C#
我需要確定對象的ToString()方法是否將返回有意義的字符串而不是其類名。 例如,bool,int,float,Enum等返回有意義的字符串,而ArrayList的實例將返回“System.Collections.ArrayList”。 如果有一種簡單的存檔方式嗎?
提前致謝。
此致,韋恩
你可以將object.GetType().ToString()
object.ToString()
與object.GetType().ToString()
進行比較object.GetType().ToString()
?
善良,
擔
您可以使用反射來檢查對象類是否覆蓋toString。 像這樣
if (obj.GetType().GetMethod("toString",
BindingFlags.Instance |
BindingFlags.Public |
BindingFlags.DeclaredOnly) != null)
{
// do smth
}
更新 - 查看是否有任何基類具有非來自Object的toString實現。
MethodInfo pi = null;
Type t = obj.GetType(0;
while (t != typeof(object) && pi == null)
{
pi = t.GetMethod("toString",
BindingFlags.Instance |
BindingFlags.Public |
BindingFlags.DeclaredOnly);
t = t.BaseType;
}
if (pi != null)
{
// do smth
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.