views:

64

answers:

2

I'm new to Mono and plan to port my application over, if possible. I've run MoMA and there are some places it has identified that I'm calling that could throw a NotImplementedException or are tagged MonoTodo. Is there anywhere I can get more information on these specific instances it's flagging down?

For instance, I'm calling the ReceivedBytesThreshold setter on SerialPort and MoMA tells me that this could throw a NotImplementedException. When I read more about MoMA's results, it tells me that NotImplementedException may mean that the method is not implemented at all or under certain circumstances it may throw this exception. Therefore, I need to be able to read more about this case to see if and how to modify my code.

A: 

The documentation at http://www.go-mono.com/docs/index.aspx?link=T%3ASystem.NotImplementedException states that:

A number of the types and constructs, specified elsewhere in this Standard, are not required of CLI implementations that conform only to the Kernel Profile. For example, the floating-point feature set consists of the floating-point data types floatand double. If support for these is omitted from an implementation, any attempt to reference a signature that includes the floating-point data types results in an exception of type NotImplementedException .

Robert Harvey
You misunderstand, I need to know why MoMA is telling me that a particular line in my code will cause a NotImplementedException or why the Mono code that I'm calling is tagged MonoTodo.
jasonh
+3  A: 

Typically, the MonoTODO attribute includes a string that gives details about what specifically is left to do. In the particular case of the ReceivedBytesThreshold, the only details are "Not implemented". You can see see the details by either using some tricky reflection, or by browsing the class lib source code:

SerialPort.cs from SVN

Pete
It looks like I'm going to have to do that. Thanks!
jasonh