Diskuze: PropertyItem (class Image) - jak vytvořit novou instanci?
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 5 zpráv z 5.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Teď jsem to hledal, a je to vážně debilní, dokonce i na MSDN radí použít jiný soubor, který už PropertyItem obsahuje.
It is difficult to set property items, because the PropertyItem class has no public constructors. One way to work around this restriction is to obtain a PropertyItem by retrieving the PropertyItems property value or calling the GetPropertyItem method of an Image that already has property items. Then you can set the fields of the PropertyItem and pass it to SetPropertyItem.
Na tohle jsem mezitím taky narazil. Vypadá že funguje, otázka je zda tenhle způsob vytvoření instance nebude mít nějaké "vedlejší efekty" (memory leaky např.) - v MSDN píšou že neproběhne konstruktor, což by v tomhle případě nevadilo, ale zda proběhne dealokace ....
Jestli jde o System.Drawing.Imaging.PropertyItem, tak v konstruktoru se nic neděje.
Záleží jak často to chceš vytvářet, jestli často, tak bych si na to udělal asi nějakou factory, která by si aspoň uchovávala ty data k reflexi - typeof(PropertyItem).GetConstructor(...) a ten pak normálně zavoláš pro naplnění.
Jestli ti nevadí další dll, které dělá jen tuhle blbost, tak si to klidně napiš v c++
Zobrazeno 5 zpráv z 5.