2009-07-22 78 views
0

我有一個從Web服務獲取數據的Silverlight 3應用程序。當我添加對我的Web服務的引用時,Web服務使用的所有類都在代理類中定義。到目前爲止,這麼好......現在,我想使用Silverlight 3中提供的DataForm。要使用該組件,我必須將元數據添加到我的類(例如,請參閱下面的代碼)。如何將屬性添加到生成的類的屬性(Web服務代理)?

public class Movie : IEditableObject 
{ 
    public int MovieID { get; set; } 

    [Display(Name="The Movie Name")] 
    public string Name { get; set; }  
} 

我的問題是,考慮到類電影由.NET生成代理類的定義,我怎麼加屬性/ metadeta到​​電影類的屬性,而無需修改生成的類?

謝謝

回答

2

總之;你沒有。不要編輯生成的代碼,因爲您的更改在下次生成時會丟失。

相反,創建你自己Movie類應用程序中,並創建一個轉換生成的Movie代理類內部Movie類(回)方法,然後讓你的內部類都期望的行爲。我通常將它們放在一個低層次,這樣我的大部分代碼都不會看到生成的代理類。

0

如果您確實需要向生成的類添加某些內容,仍然可以使用分部類實現,而無需修改生成的類中的任何內容。

+0

要清楚:您可以添加成員,但不能將元數據添加到* existing *成員。 – 2009-07-22 08:08:50