English 中文(简体)
1. 对普通类论点进行对数字类型的限制
原标题:Constraining a generic type argument to numeric types
  • 时间:2011-11-16 18:52:04
  •  标签:
  • c#
  • generics

界定一般类型:

public class Point<T> where T : IConvertible, IComparable

我确实想做的是,将T限制为一种数字类型(即斜体或浮标)。 在《刑法》中没有任何名词。 是否有接口或接口收集,可以在此用来将类型限制在盒式数字类别之一?

最佳回答
问题回答

<代码>T: 指示将限制其为价值类型。

一种——不十分舒适的方式——是检查建筑商的有效类型,并作出例外规定。 它是“比较-安全”的,会产生错误。

No you can t do it. You can choose where T:struct,IConvertible,IFormattable,IComparable to restrict it to all blittable numeric types and enums, but even if you did the restriction you still can t use operators on T as the operators are all static.

E.g.

point.X-point.Y

这将是非法的,因为普通人不知道固定成员。





相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

How to Use Ghostscript DLL to convert PDF to PDF/A

How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...

热门标签