簡體   English   中英

如何將屬性添加到生成的類的屬性(Web服務代理)?

[英]How to add attributes to properties of a class generated (web service proxy)?

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

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

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

我的問題是,考慮到Movie類是在.NET生成的代理類中定義的,如何在不修改生成的類的情況下將屬性/ metadeta添加到Movie類的屬性中?

謝謝

簡而言之; 你不知道 不要編輯生成的代碼,因為您的更改將在下次生成時丟失。

而是,在應用程序中創建自己的Movie類,並創建將生成的Movie代理類轉換為內部Movie類(並向后轉換)的方法,然后使內部類具有所需的行為。 我通常將其包裝在較低的級別,以使我的大多數代碼都看不到生成的代理類。

如果可以將Web服務轉換為使用.NET RIA Services,則可以使用此技術將屬性應用於屬性,而無需使用包裝器類:

http://blogs.msdn.com/brada/archive/2009/07/21/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-7-基於服務的數據存儲.aspx

借助RIA Services,您可以在服務器端應用屬性-代碼生成器足夠智能,可以在生成代碼時將其選中並應用到客戶端。

如果確實需要在生成的類中添加一些內容,則仍可以使用部分類來實現而無需在生成的類中進行任何修改。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM