c# – 从程序集中公开不同的类型名称(别名)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 从程序集中公开不同的类型名称(别名),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1154字,纯文字阅读大概需要2分钟。
内容图文
这个问题与previous, unanswered question of mine有关,因为我仍在解决同样的问题;这是一个不同的方法.
我目前正在C#.NET项目中使用第三方SOAP Web服务.不幸的是,生成的客户端代理类和类成员的名称与我当前的约定不一致.
除非另有建议,否则我可以假设Svcutil不支持别名(但是,它似乎最容易在那个级别完成)
我现在正在考虑将Web服务消耗包装到它自己的项目中,然后组装,并简单地引用其他项目中的内容.我正在考虑这个问题,因为可以添加一些(可能是程序集级别的)声明来公开具有与程序集中定义的名称不同的名称的公共类型.
我的问题是;是否可以公开不同于程序集中定义的类型/成员名称,基本上是别名?
例如,给定一个神奇的程序集属性:
[assembly: AssemblyTypeAlias(
Type = typeof(Foo.Bar.qux),
Name = "Qux"
)]
因此,引用此程序集的项目将访问Foo.Bar.qux作为Foo.Bar.Qux.
当然,类似的类级别属性也会很棒,因为生成的代理是部分的:
namespace Foo.Bar
{
[Alias("Qux")]
public partial class qux
{
}
}
产生同样的效果.
虽然我只用我的理论范例覆盖了类型名称,但是允许成员名称别名的解决方案将是非常壮观的.
编辑:我已经说过“别名”,其中更适用的术语是“重命名”,以隐藏原始名称;最好是后者,但前者会起作用.
解决方法:
我已经将这个答案提议建议在other question中使用服务引用中的XmlType属性,因为这个实际上是在询问别名程序集,无论它们是否来自服务.
内容总结
以上是互联网集市为您收集整理的c# – 从程序集中公开不同的类型名称(别名)全部内容,希望文章能够帮你解决c# – 从程序集中公开不同的类型名称(别名)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。