Question

I have the following property defined. MyLibrary.PumpSignal is an enum as follows:

Public Enum PumpSignal As Integer
    PumpOff = 0
    PumpOn = 1
End Enum

Then I have another class with a property of the PumpSignal type.

Property PumpState() As MyLibrary.PumpSignal
        Get
            Return m_PumpState
        End Get
        Set(ByVal value As MyLibrary.PumpSignal)
            m_PumpState = value
        End Set
End Property

.NET keeps complaining that the Return value from PumpState is no cls-compliant.

Was it helpful?

Solution

A type is only CLS-compliant if it or its assembly is explicitly marked as CLS-compliant.

Add <Assembly: CLSCompliant(True)> to the library.

Alternatively, add <CLSCompliant(False)> to the property.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top