2011-04-12 76 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>