我何时应该使用隐式投射?

C. *_*oss 6 .net c# casting

什么时候使用隐式转换是安全的?

用例:我正在使用一组需要特别处理的com对象(Marshal.ReleaseComObject).是否可以创建一个隐式转换回包装的实际com对象的包装类?

不应该使用隐式转换的情况是什么?

Jul*_*rch 1

  1. 你需要多次表演这个角色。
  2. 没有办法避免演员阵容。
  3. 它不能更好地表示为转换/投影函数。换句话说,转换后它必须是“同一个对象”。
  4. 您可以往返到原始对象。(但不是隐含的。)
  5. 它不会扰乱现有或未来可能的函数重载。

我通常将这些要点总结为“从不”,但具有讽刺意味的是,您的用例实际上听起来很常见......