How to alias 2 classes in c#

  • Thread starter Thread starter Marc Gravell
  • Start date Start date
M

Marc Gravell

Well, if you use wsdl.exe at the command-line, you can use /sharetypes
to do this, specifying multiple urls (or other sources) to inspect.

That do?

Marc
 
Hello,

Here is my pb: I have a group of classes in 2 namespaces which are exactly
simlilar.
Theses classes are generated by Visual Studio when inserting a Web
Reference, having 2 versions of a web service with a total compatibility in
data structures, I need to write a program able to deal indiferently with
any version of the web service.
Writing a compatibility layer is very long and need lot of unecesary
create/delete to transfert from one object to its correspondant object and
call the web service api without having compiler refusing.

It could be very usefull to have something abale to say 'class1 is an alias'
of class2 and to be able to cast directly object of class1 to class2 and
vis-versa. All methods and properties of the class having same names and
type.

Any idea ?

Thanks, CS.
 
Hi CS,

For ASP.NET webservice's client proxy, if you use "Add WebReference" to
create the proxy, it will always create a new copy of the custom types(even
if you have add multiple reference to services that use the same custom
types).

As Marc suggested, you can use wsdl.exe commandline utility to generate
the proxy, this tool has "SharedType" option that will indicate the proxy
generation to share types.

#Web Services Description Language Tool (Wsdl.exe)
http://msdn.microsoft.com/en-us/library/7h3ystb6(VS.80).aspx

#Framework 2.0 - WebServices Shared Types
http://weblogs.asp.net/israelio/archive/2005/01/04/346337.aspx

#Proxy Type Sharing
http://asp.dotnetheaven.com/webservices/doc/TypeSharing.aspx

So far for webservice, the type sharing support is still limited. In WCF ,
type sharing between multiple clients or even existing class library
asemblies are much more enhanced.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead


Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
(e-mail address removed).

==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscriptions/support/default.aspx.
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.
--------------------
 
Thanks to Marc and you Steven, I will do a try.
Something like
using class2 = class1 would have also been usefull.

CS
 
Sure. If you encounter any other problem later, welcome to post here.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead


Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
(e-mail address removed).
--------------------
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top