MVVMとプリズムで作業する場合いただきましたほとんどのパラメータは、インタフェース鋳造パラメータのコストが
例
public void AddCrSubSystemsToPlant(IPlantItem plantItm, CRArticleItem crItm)
{
OSiteSubSystem itm = (OSiteSubSystem)crItm;
itm.PartData.Order = ((OSiteEquipment)plantItm).SubSystems.Count() + 1;
((OSiteEquipment)plantItm).SubSystems.Add(itm);
}
または
public void DeletePart(IPlantItem plantItem)
{
IEnumerable<IPlantItem> itmParent = GetParentPartByObjectId(_siteDocument, plantItem);
if (plantItem is OSiteEquipment)
((ObservableCollection<OSiteEquipment>)itmParent).Remove((OSiteEquipment)plantItem);
if (plantItem is OSiteSubSystem)
((ObservableCollection<OSiteSubSystem>)itmParent).Remove((OSiteSubSystem)plantItem);
if (plantItem is OSiteComponent)
((ObservableCollection<OSiteComponent>)itmParent).Remove((OSiteComponent)plantItem);
}
マイいるとして、私は、自分自身がキャストをたくさんやって見つけます質問は、費用は何ですか?これらの操作にはコストがかかりますか、CPUを避けてください。
ビューがありますか?
なぜあなたは、これらすべてのキャストが必要なのでしょうか?インターフェイスで必要な操作が公開されていませんか?そうでない場合は、どうしてですか? – Oded
キャストの有無にかかわらず、いくつかのテストケースをモックアップして、パフォーマンスを測定できます。私は個々のキャストはパフォーマンスヒットの多くはないと思いますが、あなたがそれをどれくらい頻繁に行うかによって異なります。 –
関連する答えを見てください:http://stackoverflow.com/a/9366456/414076 –