IInterfaceInfo::IsDispatchable Property

 

Gets a value indicating whether the interface is derived from IDispatch.

Namespace:   Microsoft.VisualStudio.VsWizard
Assembly:  Microsoft.VisualStudio.VsWizard (in Microsoft.VisualStudio.VsWizard.dll)

property bool IsDispatchable {
	bool get();
}

Property Value

Type: System::Boolean

true if the interface is derived from IDispatch; otherwise, false.

// From the Visual C++ Implement Interface wizard
function IsCustomInterface(nSource, oInterface)
{
   if (nSource == g_nSourceCodeModel)
   {
      var oBases = oInterface.Bases;
      var cBases = oBases.Count;

      if (!cBases)
      {
         return false;
      }
      else
      {
         oBase = oBases.Item(1);

         if (oBase.Name == "IDispatch")
         {
            return false;
         }
         else
         {
            var oBaseInterface = oBase.Class;

            if (oBaseInterface)
            {
               return IsCustomInterface(nSource, oBaseInterface);
            }
         }
      }
   }
   else
   {
      return oInterface.Type == einterfaceCustom && oInterface.IsDispatchable == false;
   }
}
Return to top
Show: