This is odd:
I have an interface in C#:
[ComVisible(true)]
[Guid("24BDD90E-373B-400F-B374-1350CDB9FE76")]
[InterfaceType(ComInterfaceType.InterfaceIsDual)]
public interface IGURecord
{
[DispId(1)]
string Id { get; }
[DispId(2)]
double GUValue { get; }
[DispId(3)]
double RelativeMigrationTime { get; }
[DispId(4)]
string GlycanName { get; }
[DispId(5)]
double MonoisotopicMass { get; }
}
In the generated .TLB the GUValue, RelativeMigrationTime and GlycanName properties are getting the leading characters lowercased:
interface IGURecord : IDispatch {
[id(0x00000001), propget]
HRESULT Id([out, retval] BSTR* pRetVal);
[id(0x00000002), propget]
HRESULT guValue([out, retval] double* pRetVal);
[id(0x00000003), propget]
HRESULT relativeMigrationTime([out, retval] double* pRetVal);
[id(0x00000004), propget]
HRESULT glycanName([out, retval] BSTR* pRetVal);
[id(0x00000005), propget]
HRESULT MonoisotopicMass([out, retval] double* pRetVal);
};
Does anyone have any ideas on why this could be happening?
What I have tried:
There isn't anything unusual I'm doing in this C# assembly.
This is VS 2013.
I've checked the "Register for COM interop" in the project build settings.
There are other interfaces in this assembly defined similarly that aren't seeing this issue.