此类的对象将传递给API调用。我实施了以下警告中的第一个建议:
为降低安全风险,编组字段' Resource.k__BackingField' 作为Unicode,通过在'资源'上设置StructLayout.CharSet 到CharSet.Unicode,或通过显式封送 字段为UnmanagedType.LPWStr。如果你需要编组 此字符串作为ANSI或系统相关,指定MarshalAs 显式,使用BestFitMapping属性来转 转向最适合的映射,并增加安全性 ThrowOnUnmappableChar on。
现在我的班级看起来与此相似:
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public class Resource
{
public string Provider;
}
但是FxCop仍在发出同样的警告。它想要什么?