Jekke, If you have a method of your interface declared as > ThreadPriority TradeThreadPriority { get; set; }
you can't choose to implement only the get method of it (ReadOnly keyword notwithstanding). Interfaces are an all-or-nothing proposition. Your IL decompilation is probably just symptomatic of the fact that the compiler can't match up your implementation with the interface. I think that 'hidebysig' is used to mark functions that implement internal logic (e.g. get/set, constructors, event handling logic), rather than functions intended to be called by name directly - although this is based on observation rather than hard knowledge. John > Looking a little bit deeper into the question, I noticed some > differences in the MISL code between this method one that works fine: > > The method that's causing grief: > .method public hidebysig newslot specialname abstract virtual > instance class > [GroupOne.Utilities.EventQueues]GroupOne.Utilities.EventQueues > .EventMana > ger > get_QuoteManager() cil managed > { > } // end of method IMarketDataStreamer::get_QuoteManager > > An old method that isn't: > .method public newslot specialname abstract strict virtual > instance class > [GroupOne.CentralClassLibrary.TheKitchenSink]GroupOne.CentralC > lassLibrar > y.TheKitchenSink.orPortfolio > get_Portfolio() cil managed > { > } // end of method IHyperfeedPump::get_Portfolio > > > Now, I think I know what the "strict" is, but WTH is > "hidebysig?" Could > it have anything to do with my problem or am I just looking > in entirely > the wrong place? > > TIA > > --Jekke > > -----Original Message----- > From: Unmoderated discussion of advanced .NET topics. > [mailto:[EMAIL PROTECTED] On Behalf Of Jekke Bladt > Sent: Friday, December 17, 2004 1:32 PM > To: ADVANCED-DOTNET@DISCUSS.DEVELOP.COM > Subject: [ADVANCED-DOTNET] Implementing a C# interface in VB.net > > > All-- > > I've got a weird error coming up based on the following interface: > > public interface IMarketDataStreamer > { > void StartStreaming(); > void StopStreaming(); > void TerminateSession(); > EventManager TradeManager { get; } > EventManager QuoteManager { get; } > ThreadPriority QuoteThreadPriority { get; set; } > ThreadPriority TradeThreadPriority { get; set; } > } > > When I auto-generate the implementation skeleton in VB.net, I get > something like this (stuff snipped for clarity): > > Public Class BogusStreamer > Implements IMarketDataStreamer > > Public ReadOnly Property QuoteManager() As EventManager Implements > GroupOne.TradingTools.Interfaces.IMarketDataStreamer.QuoteManager > Get > > End Get > End Property > > Public ReadOnly Property TradeManager() As EventManager Implements > GroupOne.TradingTools.Interfaces.IMarketDataStreamer.TradeManager > Get > > End Get > End Property > > End Class > > Both of the methods above give me a compiler error along the lines of > "C:\ISEPerforce\GroupOne.CentralClassLibrary\GroupOne.CentralC > lassLibrar > y.TheKitchenSink\BogusStreamer.vb(34): 'TradeManager' cannot implement > 'TradeManager' because there is no matching property on interface > 'IMarketDataStreamer'." > > I've checked to make sure there are no ambiguous references > and get this > message even if I explicitly spell out the type of > EventManager in both > signatures and even after I've provided a return value. > > What am I doing wrong? > > TIA > > --Jekke > > =================================== > This list is hosted by DevelopMentor(r) http://www.develop.com > Some .NET courses you may be interested in: > > Essential .NET: building applications and components with C# > November 29 - December 3, in Los Angeles > http://www.develop.com/courses/edotnet > > View archives and manage your subscription(s) at > http://discuss.develop.com > > =================================== > This list is hosted by DevelopMentorŪ http://www.develop.com > Some .NET courses you may be interested in: > > Essential .NET: building applications and components with C# > November 29 - December 3, in Los Angeles > http://www.develop.com/courses/edotnet > > View archives and manage your subscription(s) at http://discuss.develop.com =================================== This list is hosted by DevelopMentorŪ http://www.develop.com Some .NET courses you may be interested in: Essential .NET: building applications and components with C# November 29 - December 3, in Los Angeles http://www.develop.com/courses/edotnet View archives and manage your subscription(s) at http://discuss.develop.com