2011-04-12 72 views
0

我最近在一次採訪中被問到了Silverlight中一個簡單屬性和一個複雜屬性的例子。我認爲他們問的是依賴屬性和附加屬性,但我不確定。我從來沒有聽說過Silverlight Simple Property或Silverlight Complex Property這個術語,並且Google一直沒有提供幫助。這些常見術語我到現在才錯過了嗎?如果是這樣,他們指的是什麼?Silverlight簡單和複雜的屬性

+0

這不是我遇到過的術語。 – ChrisF 2011-04-12 12:19:46

+0

我從來沒有聽說過他們,並已使用Silverlight近3年。 – BenCr 2011-04-12 12:19:52

回答

1

聽起來好像你的面試官沒有使用最常見的術語來描述他們想要描述的任何概念。

或者......

他們可能一直在測試你,看看你壓回更多的「要求」。你應該按下他們以獲取更多信息,以便你可以計算出他們的意思並回答他們的問題。

1

也許簡單屬性的類型是string,int,bool等,其中複雜屬性是自定義類(或結構),如Company {string companyName; }

1

有沒有聽說過這樣的事情之前,要麼但是...

...也許他們指的懶設置簡單:

SimpleProperty { get; set; } 

和複雜的定製二傳手:

ComplexProperty 
{ 
    get 
    { 
     return _complexProperty 
    } 
    set 
    { 
     //Do some "complex" stuff here like maybe computing how many steps to the moon then add it to the current value before setting to the field :)) 
     _complexProperty = value; 
     RaisePropertyChanged("ComplexProperty"); 
    } 
} 
+1

什麼是懶惰設置?你是指Auto Property vs明確的後臺? – BenCr 2011-04-12 12:30:50

+0

是的,汽車物業:D – 2011-04-12 13:23:34

0

這是我的猜測。 以ListBox爲例。 x:Name是一個簡單的屬性,而ItemsPanel是Complex屬性(它不能分配內聯值)

0

一個簡單的屬性就像FontSize,你可以使用屬性屬性語法輕鬆設置字符串。

Ex。

<Label FontSize="10">My Label</Label> 

一個複雜的屬性將是一個需要一個對象本身可能包含一些屬性,如梯度刷。你通常會使用property-element語法來設置它。

Ex。

<Button> 
    <Button.Background> 
     <LinearGradientBrush> 
     <GradientStop Offset="0.00" Color="Yellow" /> 
     <GradientStop Offset="0.50" Color="Green" /> 
     </LinearGradientBrush> 
    </Button.Background> 
</Button>