我可以为我自己的类定义C#别名/关键字,如int,string,object吗?

前端之家收集整理的这篇文章主要介绍了我可以为我自己的类定义C#别名/关键字,如int,string,object吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
它不是关于使用foo = MyPackage.Foo;

我意识到这更多地与IDE(Visual Studio 2010)有关,它向我展示了蓝色的特殊类型.而且我想要一些same课程.我希望它是蓝色的(呈现为特殊的)并且可以在整个项目中访问.

原因是我想给他们意义/重要性,以便我的团队中的每个人都知道这个课程是整个项目的关键课程.

  1. // "foo" and "Foo" shall be just the same type:
  2. foo: MyPackage.Foo
  3.  
  4. object: System.Object
  5. string: System.String
  6. bool: System.Boolean
  7. byte: System.Byte
  8. sbyte: System.SByte
  9. short: System.Int16
  10. ushort: System.UInt16
  11. int: System.Int32
  12. uint: System.UInt32
  13. long: System.Int64
  14. ulong: System.UInt64
  15. float: System.Single
  16. double: System.Double
  17. decimal: System.Decimal
  18. char: System.Char

那可能吗 ?如果我的IDE安装中有一个文件,里面会有上面的关键字,我可以添加一些关键字并保存并重新启动IDE?

要有两个班级,我可以这样做.这是同一个班级的两个名字.我知道我需要在这些之间施展.

  1. public class foo : Foo
  2. { }

解决方法

您的问题似乎与两个不同的要求有关:

>定义一个“全球”符号/类,随处可用.
>为该符号应用不同的颜色(即语法高亮).

1)不可能直接.在这种情况下,您可以做的是提供包含该类的程序集,并强制您的团队使用它.您甚至可以使用static analysis tool并触发一些编译错误(例如,如果未引用该程序集).

2)这更难实施.可以在Visual Studio自定义C#的默认语法着色机制,但绝对不容易.

Visual Studio通过Language Service支持给定语言(具有语法高亮,IntelliSense等).因此,通过遵循these步骤添加具有不同调色板的自定义关键字集是可行的.您还必须了解如何将自定义代码插入已定义的C#语言服务中.

PS:从未尝试过这样做,只是看着似乎需要的工作我感到很累.但我猜that’s what the JetBrains ReSharper team did.

PPS:如果你使用的是Managed C而不是C#,它将是much simpler.

猜你在找的C#相关文章