C#中部分属性的替换是什么?

C#中部分属性的替换是什么?,c#,asp.net,asp.net-mvc-3,properties,partial,C#,Asp.net,Asp.net Mvc 3,Properties,Partial,我有一个应用程序(MVC3),其中的代码是为datacontext类自动生成的。我需要扩展功能,所以我创建了同名的分部类。但我发现只有“void方法”可以标记为partial,而我需要某种partial属性 那么,有没有办法在C#中扩展属性的功能呢 更新: 代码如下: public Table<Post> Posts { get { // writing info into Trace file

我有一个应用程序(MVC3),其中的代码是为datacontext类自动生成的。我需要扩展功能,所以我创建了同名的分部类。但我发现只有“void方法”可以标记为partial,而我需要某种partial属性

那么,有没有办法在C#中扩展属性的功能呢

更新:

代码如下:

    public Table<Post> Posts
    {
        get
        {
            // writing info into Trace file
            Log = Console.Out;
            var result = this.GetTable<Post>();
            Log = new LogLinqToSql();
            SubmitChanges();
            return result;
        }
    }
公共表Posts
{
得到
{
//将信息写入跟踪文件
Log=Console.Out;
var result=this.GetTable();
Log=新的LogLinqToSql();
提交更改();
返回结果;
}
}

问题是,如果我对数据模型进行任何更改,此代码将消失,那么我如何才能将其移动到“更安全”的位置?

很抱歉使用“答案”字段,此帖子用于上面的讨论:

不能将DataContext中的属性包装到类中的另一个属性中吗

e、 g

部分类NewClass
{
公共表NewProperty
{
得到
{
dohousing();
从其他PartialClass返回此.Property;
}
}
}

只有类需要标记为partial。

我的问题的解决方案(提供日志记录)很简单:在自动生成的代码中有一堆partial helper方法。还有一个方法“OnCreated”,它是在创建MyTypeDataContext类的实例时调用的。所以,我只需要做以下几点:

public partial class WebStoreDataContext
{
    partial void OnCreated()
    {
        // writing info into Trace file
        Log = Console.Out;
        Log = new LogLinqToSql();
        SubmitChanges();
    }
}

如果要向属性添加属性(提供所有信息)

为什么需要部分属性?因为我想将生成的(通过Linq)Sql代码写入日志文件即使您可以写入部分属性,您将如何拦截和访问生成的Sql?如何使用“部分属性”工作?@AlekseiChepovoi:这正是部分职业的闪光点。我不明白问题出在哪里。您不需要将属性本身标记为
partial
。只需将类
设置为部分
,并将属性放在“您自己的一半”中即可。当然,自动生成的一半也必须标记为
partial
。这种方法是可能的,但我必须更改一半的代码)还有另一个问题:您将公开两个属性—一个在partial类中,一个在DataContext中,并且只应使用类中的属性(忽略另一个). 这使得它非常不直观
public partial class WebStoreDataContext
{
    partial void OnCreated()
    {
        // writing info into Trace file
        Log = Console.Out;
        Log = new LogLinqToSql();
        SubmitChanges();
    }
}