0

在下面的代码中,当您访问样式属性时,我希望它接受参数类型:顶部、左侧、宽度等...所以它会首先从智能感知插入,以免您有机会意外拼写错误,忘记了或者只是为了“自动化”,或者无论如何我们称之为,在智能感知中作为一个可供选择的选项。

代替:

objectID.Style.Add("property", "Value"); 

您将获得可用属性:

objectID.Style.Add(Top, "here you will hardcode manually"); 
objectID.Style.Add(Left, "100px");
objectID.Style.Add(Width, "230px"); // but every parameter that represents an object property 
        //such as: Top, Left Etc' ... i would like to have it as an option opposed, to hard coding it

我很乐意就我的想法提供更详细的想法…… 再举一个例子:

    DateTime fullDate = DateTime.Now;
    string ddays = fullDate.Day.ToString();
    string dmonth = fullDate.Month.ToString();
    string dyear = fullDate.Year.ToString();

如何使用上面的代码获取日期的一部分并将每个存储到一个表示日期、日、月、年的字符串中,然后将其放入一个类中,以便我可以在其他代码中重用它:

Label1.Text = Day; Label2.Text = Month; Label3.Text = Year;

我再次想要实现的是,当 App_Code 具有我们构建的所谓“类”时,这些值将在智能感知中......

与该线程第一部分中的样式属性相同。

由于我是 oop 的新手,我想从该示例中更好地理解什么是字段属性类型(您自己的)和类,从这个角度来看(上面的代码)我将非常感谢正确/详细的答案,希望一个天,我也能帮助别人……

4

1 回答 1

1

对于您的第一个示例,枚举是完美的:

public enum StyleOptions { Top, Left, Width, etc }

objectID.Style.Add(StyleOptions.Top, "here you will hardcode manually");

对于第二个,我建议传递 aDateTime而不是单独string的 s。如果您想在单独的标签中显示单独的部分,那么在具有框的页面/表单/用户控件中,执行您的Label1.Text = fullDate.Day.ToString();(等)代码。

DateTime(a struct) 和StyleOptions(an enum) 都是类型。 classes 也是类型,(并且是您将在 C# 中看到的最常见的类型)但我不确定您在这里使用的是哪些类(无论您在其中获得代码片段的方法包含什么,几乎可以肯定是一个类你做了)。字段本质上是属于类型实例(如果是非静态)或类型本身(如果是静态)的变量。属性像字段一样被访问,但使用方法定义,因此您可以执行延迟加载等操作,并在获取和设置属性更改时通知。如果不太清楚,请参阅C# 3.0+ 中的属性和字段之间的区别以及字段属性文档。

于 2012-06-09T21:58:38.080 回答