csharp 方法和参数第4条

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 方法和参数第4条相关的知识,希望对你有一定的参考价值。

        public class MessageOption
        {
            internal string FromEmailAddress { get; set; }
            internal string MessageSubject { get; set; }
            internal List<string> ToEmailAddresses { get; set; }
            internal string MessageContent { get; set; }

            public MessageOption From(string value)
            {
                FromEmailAddress = value;
                return this;
            }

            public MessageOption Subject(string value)
            {
                MessageSubject = value;
                return this;
            }

            public MessageOption Content(string value)
            {
                MessageContent = value;
                return this;
            }

            public MessageOption AddTo(string emailAddress)
            {
                if (ToEmailAddresses == null)
                    ToEmailAddresses = new List<string>();

                ToEmailAddresses.Add(emailAddress);
                return this;
            }
        }
        public void SendEmail(Action<MessageOption> options)
        {
            var messageOption = new MessageOption();
            options(messageOption);

            //For simplicity implementation is observed.
        }

        //Usage
        public void Test2()
        {
            SendEmail(options => options
                .From("johndoe@email.com")
                .AddTo("toEmailAddress@email.com")
                .Subject("Subject of this email")
                .Content("Content of this email")
            );
        }

以上是关于csharp 方法和参数第4条的主要内容,如果未能解决你的问题,请参考以下文章

csharp 方法和参数第3条

csharp 方法和参数第1条

csharp 方法和参数第2条

《Effective Java 2nd》第7章 方法

一文读懂《Effective Java》第42条:慎用可变参数

[Effective JavaScript 笔记]第24条:使用变量保存arguments对象