C# 4.0 我可以在公共类的公共属性的get和set访问器中使用任何类型的方法吗
我有一个从接口I_BaseTableC继承的BaseTableC类,两者都有一组公共属性 我能否通过引用BaseTableC.Property1或BaseTableC.I_BaseTableC I_作为I_reference.Property1访问get/set访问器提供的“已更改”(由MethodAlterValue更改)值 到目前为止,我没有得到错误,但是属性1从来没有显示由get/set访问器提供的更改后的值C# 4.0 我可以在公共类的公共属性的get和set访问器中使用任何类型的方法吗,c#-4.0,C# 4.0,我有一个从接口I_BaseTableC继承的BaseTableC类,两者都有一组公共属性 我能否通过引用BaseTableC.Property1或BaseTableC.I_BaseTableC I_作为I_reference.Property1访问get/set访问器提供的“已更改”(由MethodAlterValue更改)值 到目前为止,我没有得到错误,但是属性1从来没有显示由get/set访问器提供的更改后的值 public class BaseTableC : IBaseTableC {
public class BaseTableC : IBaseTableC
{
public string Property1
{
get { return MethodOriginalValue(_Property1); }
set
{
if (! String.IsNullOrEmpty(value))
_Property1 = MethodAlterValue(value.TrimEnd());
else
_Property1 = value;
}
}
}
在执行过程中,_Property1确实显示了更改后的值,但是BaseTableC.Property1没有显示。为什么要同时更改输入字段和输出字段的值?只要进去就改变一下就够了吗?当值进行往返时,它已经通过MethodAlterValue两次,这可能会导致问题吗?编辑代码时,它们是不同的方法,一个改变,一个改变。(加密/解密)。如果我错了,请纠正我(因为可能我误解了这个问题):属性的设置者加密值;getter将其解密。这意味着,无论何时调用BaseTableC.Property1,都是在调用“MethodOriginalValue”。如果要获取更改后的值,请创建另一个名为
property1alterned
的属性,或者将getter更改为return\u Property1并创建另一个属性以returnMethodOriginalValue(\u Property1)
@ShwetaSaxena,如果要在同一属性上返回多个值,您需要返回字符串以外的内容(字典、列表、元组、结构、另一个类的对象…)。另一种方法不是创建一个属性,而是创建一个带有参数的方法,以定义要获取的值。