IInterfaceInfo.Source Özellik

Tanım

Arabirimin kaynak olup olmadığını gösteren bir değer alır — diğer bir deyişle, istemcinin, aramalar yerine, dinlediği bir arabirimdir.

public:
 property bool Source { bool get(); };
public:
 property bool Source { bool get(); };
[System.Runtime.InteropServices.DispId(1610743811)]
public bool Source { [System.Runtime.InteropServices.DispId(1610743811)] get; }
[<System.Runtime.InteropServices.DispId(1610743811)>]
[<get: System.Runtime.InteropServices.DispId(1610743811)>]
member this.Source : bool
Public ReadOnly Property Source As Boolean

Özellik Değeri

Boolean

true arabirim kaynak ise; Aksi takdirde, false .

Öznitelikler

Örnekler

// From the Visual C++ Member Variable wizard  

function GenerateActiveXControlClassText(oTypeLib)  
{  
   var strClassText = "";  

   var oInterfaces = oTypeLib.Interfaces;  
   var nCount = oInterfaces.Count;  

   var bGenerate_Array = new Array();  
   var Name_Array = new Array();  
   var Base_Array = new Array();  
   var i;  
   for (i = 0; i < nCount; i++)  
   {  
      var oInterface = oInterfaces.item(i+1);  

      if (oInterface.CoClass != CONTROL_TYPE.text   
         || oInterface.Default == false   
         || oInterface.Source == true)  
         continue;  

      Name_Array[i] = oInterface.Name;  
      Base_Array[i] = oInterface.Base;  
      bGenerate_Array[i] = true;  
   }  
   for (i = 0; i < nCount; i++)  
   {  
      if (oInterface.CoClass != CONTROL_TYPE.text   
         || oInterface.Default == false   
         || oInterface.Source == true)  
         continue;  

      var strBase = Base_Array[i];  
      if(strBase && strBase.length &&   
         strBase!="IDispatch" && strBase!="IUnknown")  
      {  
         for(var j=0; j< nCount; j++)  
         {  
            if(strBase == Name_Array[j])  
            {  
               bGenerate_Array[j] = false;  
               break;  
            }  
         }  
      }  
   }  
   for (i = 0; i <  nCount; i++)  
   {  
      var oInterface = oInterfaces.item(i+1);  
      if(!bGenerate_Array[i])  
      {  
         strClassText += "// Interface: " + Name_Array[i] + " not generated, because it was a base interface for others.\n\n";  
      }  
      else if (oInterface.Type == 2   
               && oInterface.CoClass == CONTROL_TYPE.text   
               && oInterface.Default   
               && !oInterface.Source)  // einterfaceDispinterface  
      {  
         strClassText += "// ";  
         strClassText += Name_Array[i];  
         strClassText += "\r\n\r\n// Functions\r\n//\r\n\r\n";  
         strClassText += GetFuncText(oTypeLib, oInterface, strClassText);  
      }  
   }  
   return strClassText;  
}  

Açıklamalar

Kaynak arabirim, istemci çağrısı (örneğin, C++ ' daki bağlantı noktaları yoluyla) yerine istemciye iletişim kuran bir arabirimdir. Bir sunucu, arabirim birkaç istemciye izin veriyorsa çağrıları çağırır (veya yeniden uygular) ve istemci işleyiciyi uygular.

Belirli bir coclass 'ta yalnızca bir arabirim [kaynak] olarak işaretlenebilir.

Şunlara uygulanır