Iga*_*nik 8 c# reflection unsafe
我正在寻找一种方法来过滤出unsafe通过反射具有修饰符的方法.它似乎不是方法属性.
有办法吗?
编辑:似乎这个信息不在元数据中,至少我在IL中看不到它.但是反射unsafe器在C#视图中显示修改器.关于它是如何完成的任何想法?
编辑2:根据我的需要,我最终得到了一个检查,假设如果方法的某个参数是指针,或者返回类型是指针,那么该方法是不安全的.
public static bool IsUnsafe(this MethodInfo methodInfo)
{
if (HasUnsafeParameters(methodInfo))
{
return true;
}
return methodInfo.ReturnType.IsPointer;
}
private static bool HasUnsafeParameters(MethodBase methodBase)
{
var parameters = methodBase.GetParameters();
bool hasUnsafe = parameters.Any(p => p.ParameterType.IsPointer);
return hasUnsafe;
}
Run Code Online (Sandbox Code Playgroud)
当然,这不会处理在方法中执行不安全块的情况,但同样,我感兴趣的是方法签名.
谢谢!
| 归档时间: |
|
| 查看次数: |
1097 次 |
| 最近记录: |