tôi có ba enums:Giá trị của enum như là kết quả của một hàm
enum ValueType : int
{
FloatingPoint = 2,
.../...
}
enum ConstraintType : int
{
Range = 2,
.../...
}
enum Parameter : int
{
ExposureTime = F(ValueType.FloatingPoint, ConstraintType.Range, 23),
.../...
}
Vấn đề là ở chữ ký của F
nếu tôi sử dụng:
private static int F(ValueType _V, ConstraintType _C, int _N) { ... }
tôi nhận được một lỗi (arguments không hợp lệ) cho mọi cuộc gọi theo định nghĩa của Parameter
, nhưng nếu tôi sử dụng các mục sau đây thay thế:
private static int F(int _V, int _C, int _N) { ... }
Mọi thứ đều ổn.
Đó không phải là vấn đề chặn, nhưng tôi muốn hiểu tại sao lại như vậy.
bạn gọi F như thế nào? Bạn có truyền ints hay enums như params? – kristian
@kristian: Điều đó được nêu trong câu hỏi :-) Xem khối mã đầu tiên. (Tôi cũng không thấy nó lúc đầu.) –
@ O.R.Mapper làm thế nào mà lẻn vào đó ?! ;) – kristian