Dikkat gerektiren bazı kod yapıları hakkında bizi uyarmak için bazı Resarper Özel Kalıpları yazıyorum. OnPropertyChanged Bunlardan biri bir lambda varyant OnPropertyChanged ("String") yerini almaktadır (() => özellikadı)Resharper Özel Kalıplar: Özellik özniteliklerini yok sayma
tanımlanan I ara Modelidir:
public $type$ $property$
{
get { return $backingfield$; }
set
{
if($backingfield$ != value) {
$backingfield$ = value;
OnPropertyChanged($String$);
}
}
}
Bu model ile ikame edilmektedir:
public $type$ $property$
{
get { return $backingfield$; }
set
{
if($backingfield$ != value) {
$backingfield$ = value;
OnPropertyChanged(() => $property$);
}
}
}
sorun: bu uygulayarak Resharper mülkiyet tanımlanan özellikleri atıyor. Bu parçacık:
[MyAttribute]
public int Test
{
get { return _Test; }
set
{
if (_Test != value)
{
_Test = value;
OnPropertyChanged("Test");
}
}
}
public int Test
{
get { return _Test; }
set
{
if (_Test != value)
{
_Test = value;
OnPropertyChanged(() => Test);
}
}
}
ile değiştirilir alır nasıl özelliklerini koruyabilir ??
UPDATE: deseni arama ve değiştirmek için, her iki System.Attribute türetilmiş bir tür tutucu ekleme kısmen giderir. Özellik tutucu sadece bir tane özellik eşleştiğini sorunu Kalan
[$Attributes$]
...
çoklu niteliklere başarısız olduğunu.
Gerçekten mülk için arama yapmanıza gerek var mı? Belki de 'OnPropertyChanged ($ String $)' yi arayabilir ve 'OnPropertyChanged (() => $ String $) ile değiştirebilirsiniz. – brgerner
Bunu yaparken, OnpropertyChanges ("test"), OnPropertyChanged (() => "test") ile değiştirilir. Test yer tutucu, tip dizgisinin bir ifadesi olarak tanımlanır. – Yoeri
Haklısınız. Benim hatamdı. – brgerner