Bu makale, makine tarafından çevrilmiştir. Makaleyi İngilizce dilinde görüntülemek için İngilizce onay kutusunu işaretleyin. Ayrıca, fare işaretçisiyle İngilizce metnin üzerine gelerek metni açılır pencerede de görüntüleyebilirsiniz.
Çeviri
İngilizce

ImportAttribute Sınıfı

 

Bir özellik, alan veya parametre değeri tarafından sağlanan belirtir CompositionContainer.object

Ad alanı:   System.ComponentModel.Composition
Derleme:  System.ComponentModel.Composition (System.ComponentModel.Composition.dll içinde)

System.Object
  System.Attribute
    System.ComponentModel.Composition.ImportAttribute

[AttributeUsageAttribute(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter, 
	AllowMultiple = false, Inherited = false)]
public class ImportAttribute : Attribute

AdıAçıklama
System_CAPS_pubmethodImportAttribute()

Yeni bir örneğini başlatır ImportAttribute varsayılan sözleşme adı ile dışa aktarma sınıfı.

System_CAPS_pubmethodImportAttribute(String)

Yeni bir örneğini başlatır ImportAttribute belirtilen sözleşme adı ile dışa aktarma sınıfı.

System_CAPS_pubmethodImportAttribute(String, Type)

Yeni bir örneğini başlatır ImportAttribute belirtilen sözleşme adı ve türü dışa aktarma sınıfı.

System_CAPS_pubmethodImportAttribute(Type)

Yeni bir örneğini başlatır ImportAttribute belirtilen türden türetilmiş sınıf, sözleşme adı ile dışa aktarma.

AdıAçıklama
System_CAPS_pubpropertyAllowDefault

Alır veya sözleşme adı ile bir dışarı aktarma kapsayıcıda mevcut olmadığında özellik, alan veya parametre kendi türünün varsayılan değerine ayarlanacak olup olmadığını belirten bir değer ayarlar.

System_CAPS_pubpropertyAllowRecomposition

Alır veya dışarı aktarma ile eşleşen bir anlaşma kapsayıcısında değiştiğinde, özelliği veya alanı yeniden oluşturulmasına olup olmadığını belirten bir değer ayarlar.

System_CAPS_pubpropertyContractName

Dışarı aktarmak için sözleşme adını alır.

System_CAPS_pubpropertyContractType

Dışarı aktarmak için türünü alır.

System_CAPS_pubpropertyRequiredCreationPolicy

Alıcı belirli bir gerektirdiğini belirten bir değeri alır veya ayarlar CreationPolicy Bu alma karşılamak için kullanılan verme.

System_CAPS_pubpropertySource

Alır veya bu alma memnun kapsamları belirten bir değer ayarlar.

System_CAPS_pubpropertyTypeId

Türetilen bir sınıfta uygulandığında, bu için benzersiz bir tanımlayıcı alır Attribute.(Attribute kaynağından devralındı.)

AdıAçıklama
System_CAPS_pubmethodEquals(Object)

Bu API,ürün altyapısını destekler ve API’nın doğrudan kodunuzdan çalıştırılması amaçlanmaz. Bu örnek belirtilen bir nesneye eşit olup olmadığını belirten bir değer döndürür.(Attribute kaynağından devralındı.)

System_CAPS_protmethodFinalize()

Kaynakları serbest ve atık toplama işlemi tarafından alınmadan önce diğer temizleme işlemleri gerçekleştirmek bir nesne sağlar.(Object kaynağından devralındı.)

System_CAPS_pubmethodGetHashCode()

Bu örneğe ilişkin karma kodu döndürür.(Attribute kaynağından devralındı.)

System_CAPS_pubmethodGetType()

Alır Type geçerli örneği.(Object kaynağından devralındı.)

System_CAPS_pubmethodIsDefaultAttribute()

Türetilen bir sınıfta geçersiz kılındığında, bu örneğinin değerini türetilmiş sınıf için varsayılan değer olup olmadığını gösterir.(Attribute kaynağından devralındı.)

System_CAPS_pubmethodMatch(Object)

Türetilen bir sınıfta geçersiz kılındığında, bu örnek belirtilen bir nesneye eşit olup olmadığını belirten bir değer döndürür.(Attribute kaynağından devralındı.)

System_CAPS_protmethodMemberwiseClone()

Geçerli basit bir kopyasını oluşturur Object.(Object kaynağından devralındı.)

System_CAPS_pubmethodToString()

Geçerli nesneyi temsil eden bir dize döndürür.(Object kaynağından devralındı.)

AdıAçıklama
System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Bir ad kümesini karşılık gelen bir gönderme tanımlayıcıları kümesine eşler.(Attribute kaynağından devralındı.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Bir arabirim için tür bilgisi almak için kullanılan bir nesne türü bilgilerini alır.(Attribute kaynağından devralındı.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfoCount(UInt32)

Bir nesne (0 veya 1) sağladığı tür bilgisi arabirimlerinin sayısını alır.(Attribute kaynağından devralındı.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Özellikleri ve yöntemleri bir nesne tarafından sunulan erişim sağlar.(Attribute kaynağından devralındı.)

Öznitelikli programlama modelinde, ImportAttribute Imports veya bağımlılıkları, belirli bir bölümü bildirmek için kullanılır. Bir özellik, bir alan veya yöntem tasarlayabilirsiniz. Bir parçanın içeri aktarmalar oluşturma sırasında tarafından doldurulacaktır CompositionContainer bölümü ait, için sağlanan dışarı kullanarak nesne CompositionContainer nesne.

İçe aktarma verilen verme eşleşip eşleşmediğini sözleşme adı ve sözleşme türü öncelikle karşılaştırarak belirler. Genellikle, bunlardan birisi Import özniteliği kodda kullanırken belirtmeniz gerekmez ve bunlar otomatik olarak düzenlenmiş üye türünden çıkarılabilir olacaktır. Alma (örneğin, bir alt sınıfı düzenlenmiş üye veya bu üye tarafından uygulanan bir arabirim türünü) farklı türde bir dışarı aktarma eşleşmelidir, sözleşme türü açıkça belirtilmelidir. Sözleşme adı da açıkça, aynı türde birden fazla sözleşme ayırt etmek örneğin belirtilebilir ancak meta veriler üzerinden Bunu yapmak daha iyi olur. Meta veriler hakkında daha fazla bilgi için bkz: PartMetadataAttribute.

Aşağıdaki örnek, üç sınıf üyeleri ile tasarlanmış olan gösterir ImportAttribute, ve bunları eşleşen üç dışarı aktarır.

//Default export infers type and contract name from the
//exported type.  This is the preferred method.
[Export]
public class MyExport1
{
    public String data = "Test Data 1.";
}

public class MyImporter1
{
    [Import]
    public MyExport1 importedMember { get; set; }
}

public interface MyInterface
{

}

//Specifying the contract type may be important if
//you want to export a type other then the base type,
//such as an interface.
[Export(typeof(MyInterface))]
public class MyExport2 : MyInterface
{
    public String data = "Test Data 2.";
}

public class MyImporter2
{
    //The import must match the contract type!
    [Import(typeof(MyInterface))]
    public MyExport2 importedMember { get; set; }
}

//Specifying a contract name should only be 
//needed in rare caes. Usually, using metadata
//is a better approach.
[Export("MyContractName", typeof(MyInterface))]
public class MyExport3 : MyInterface
{
    public String data = "Test Data 3.";
}

public class MyImporter3
{
    //Both contract name and type must match!
    [Import("MyContractName", typeof(MyInterface))]
    public MyExport3 importedMember { get; set; }
}

class Program
{      

    static void Main(string[] args)
    {
        AggregateCatalog catalog = new AggregateCatalog();
        catalog.Catalogs.Add(new AssemblyCatalog(typeof(MyExport1).Assembly));
        CompositionContainer _container = new CompositionContainer(catalog);
        MyImporter1 test1 = new MyImporter1();
        MyImporter2 test2 = new MyImporter2();
        MyImporter3 test3 = new MyImporter3();
        _container.SatisfyImportsOnce(test1);
        _container.SatisfyImportsOnce(test2);
        _container.SatisfyImportsOnce(test3);
        Console.WriteLine(test1.importedMember.data);
        Console.WriteLine(test2.importedMember.data);
        Console.WriteLine(test3.importedMember.data);
        Console.ReadLine();

    }
}

.NET Framework
4.0 sonrasında kullanılabilir
Taşınabilir Sınıf Kitaplığı
Destekleyen: taşınabilir .NET platformları
Silverlight
4.0 sonrasında kullanılabilir

Bu türdeki herhangi bir public static (Visual Basic’te Paylaşılan Visual Basic'te), bu tür üyeler iş parçacığı güvenliklidir. Hiçbir örnek üyesinin, iş parçacığı güvenli olduğu garanti edilmez.

Başa dön
Show: