当前位置: 首页 > 编程语言 > C#

在C#中声明类型同义词分享

时间:2023-04-10 15:40:09 C#

C#学习教程:在C#中声明类型同义词有没有办法在C#中声明类型同义词?您可以使用using语句为类型创建别名。例如,下面将为System.Int32创建一个名为MyInt的别名usingMyInt=System.Int32;或者,在某些情况下,您可以使用继承来提供帮助。例如创建一个ListPeople类型publicclassPeople:List{}不是别名,但它确实简化了事情,特别是对于更复杂的类型,比如这个publicclassSomeStructure:List>{}现在你可以使用SomeStructure类型而不是那有趣的泛型声明。对于评论中的示例,对于元组,您可以执行以下操作。publicclassMyTuple:Tuple{publicMyTuple(inti,strings):base(i,s){}}也许您正在寻找使用别名指令:usingMyType=MyNamespace.SomeType;这允许您在代码中键入://构造一个MyNamespace.SomeType实例...MyTypeinstance=newMyType();有没有办法在C#中声明类型同义词?不可以。您可以使用using创建别名,但仅限于1个文件(命名空间)。听起来你在谈论别名,你可以在代码文件顶部的using语句中声明它:usingMyDate=System.DateTime;这不是解决这个问题的最直接的方法,但是当我需要类型同义词时,我创建了一个带有与目标类型之间的隐式转换的类,例如:给定名称需要与字符串同义,那么你可以这样做:公共类名称{公共字符串值;publicstaticimplicitoperatorstring(Namename){returnname.Value;}publicstaticimplicitoperatorName(stringname){returnnewName{Value=name};这将使您能够在代码周围使用Name类型,并且编译器将允许您从字符串赋值中分配它。如果你有如下方法签名:publicvoidSomeMethodThatNeedsName(Namename)你可以这样做:以上就是《C#学习教程:在C#Shared中声明类型同义词》的全部内容,如果对大家有用还需要了解更多关于C#学习教程,希望大家多多关注——SomeMethodThatNeedsName("aNameThatComesFromString")本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: