gpt4 book ai didi

c# - 如何覆盖部分类属性

转载 作者:太空狗 更新时间:2023-10-29 17:31:38 25 4
gpt4 key购买 nike

我有一个部分类,我想做如下的事情:

[MetadataType(typeof(UserMetaData))]
public partial class Person
{
public override string PrivateData
{
get
{
return customDecrypt(base.PrivateData);
}
set
{
base.PrivateData = customEncrypt(value);
}
}
}

但是上面的方法不起作用。

有没有办法覆盖基本 Entity Framework 类的属性以允许自定义 getter/setter?

最佳答案

部分类与继承无关,override完全是关于继承。

partial类上的关键字仅意味着它可以在同一个程序集中声明多次。这与复制每个 partial class 的每个部分完全一样到同一个文件中并删除了 partial关键词。由于您不能在同一个类中两次定义相同的属性/函数/等,因此您不能在同一个类的两个不同部分中定义它两次,即使使用 partial 也是如此。关键字。

override另一方面,在派生 类中使用,表示它们正在替换它们继承自的基类的功能。如果没有显式继承,则继承自object ,它可以让你覆盖 ToString() (除其他外)。

您最好的选择是使用自定义 T4 模板生成加密/解密逻辑,或者将加密属性设置为 protectedprivate在设计器中手动添加 public进行解密的版本。

关于c# - 如何覆盖部分类属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15207652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com