Documentation

Index General .NET


Design of COM usable classes in .NET

Errors

Samples for params

Default implemention (accessible for VBScript)

MyParamArrayMethod(params Object[] values)

Results in VB

MyParamArrayMethod(ByVal ParamArray values() As Object)

Being in IDL

[id(1), vararg]
HRESULT MyParamArrayMethod([in] SAFEARRAY(VARIANT) values);

Required implementation for VB98/VB6

MyParamArrayMethod(ref Object[] values)

Should result in VB

MyParamArrayMethod(ByVal ParamArray values() As Object)

Requires in IDL

[id(1), vararg]
HRESULT MyParamArrayMethod([in] SAFEARRAY(VARIANT)* values);

Sample for For Each enumerator with generic IEnumerable<T> implementation

public class ForEachSample :
  IEnumerable<String>
{
  private readonly List<String> _list = new List<String>();

  public ForEachSample()
  {
  }

  public IEnumerator GetEnumerator() => ((IEnumerable<String>)this).GetEnumerator();
  
  IEnumerator<String> IEnumerable<String>.GetEnumerator() => _list.GetEnumerator();
}

© SphereSoft.NET, Holger Boskugel, Berlin, Germany spheresoft.net