以下のコードでは、Resharper から警告が表示されます: Cannot cast expression of type 'Color' to type 'UIntPtr'
. (実際、Resharper はそれが実際のエラーであると考えています。)
ただし、コンパイラの警告はなく、正常に動作します。
これは Resharper のバグのように見えます。それは...ですか?それとも、コンパイラが心配していない何か悪いことがありますか? (Resharper 7.1.1 を使用しています)
using System;
namespace Demo
{
internal class Program
{
public enum Color { Red, Green, Blue }
private static void Main(string[] args)
{
UIntPtr test = (UIntPtr) Color.Red; // Resharper warning, no compile warning.
}
}
}
最初に値を int にキャストすることで警告を消すことができるので、回避策があります。
UIntPtr test = (UIntPtr)(int) Color.Red;