Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 4.0 我可以在公共类的公共属性的get和set访问器中使用任何类型的方法吗_C# 4.0 - Fatal编程技术网

C# 4.0 我可以在公共类的公共属性的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 {

我有一个从接口I_BaseTableC继承的BaseTableC类,两者都有一组公共属性

我能否通过引用BaseTableC.Property1或BaseTableC.I_BaseTableC I_作为I_reference.Property1访问get/set访问器提供的“已更改”(由MethodAlterValue更改)值

到目前为止,我没有得到错误,但是属性1从来没有显示由get/set访问器提供的更改后的值

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并创建另一个属性以return
MethodOriginalValue(\u Property1)
@ShwetaSaxena,如果要在同一属性上返回多个值,您需要返回字符串以外的内容(字典、列表、元组、结构、另一个类的对象…)。另一种方法不是创建一个属性,而是创建一个带有参数的方法,以定义要获取的值。