我们可以中断在构造函数中创建一个对象 [英] Can we interrupt creating an object in constructor

查看:106
本文介绍了我们可以中断在构造函数中创建一个对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你能帮我吗。
我有一个想法,但不知道如何实现它。

Could you help me please. I have one idea but don't know how can I implement it.

所以问题是:
我们可以中断创建一个对象构造函数
ie

So the question is: Can we interrupt creating an object in constructor i.e.

//Code

SomeClass someClass = new SomeClass(someCriteria);

所以如果someCriteria没有回答我们的要求,我们不应该创建一个对象, ,而不是新对象。

So if someCriteria doesn't answer on our requirements we shouldn't create an object and should return null, instead of new object.

是否可以在C#中实现它?

Is it possible to implement it in C#?

推荐答案

最好的方法是工厂类,但如果你的类很小,你可以使用:

Best way is a factory class but if your class is so small you can use this:

class SomeClass
    {
        private string _someCriteria;

        private SomeClass(string someCriteria)
        {
            _someCriteria = someCriteria;
        }

        public static SomeClass CreateInstance(string someCriteria)
        {
            if (someCriteria.Length > 2)
            {
                return new SomeClass(someCriteria);
            }
            return null;
        }
    }

    class Program
    {
        static void Main(string[] args)
        {

            // returns null
            SomeClass someClass = SomeClass.CreateInstance("t");

            // returns object
            SomeClass someClass2 = SomeClass.CreateInstance("test");
        }
    }

这篇关于我们可以中断在构造函数中创建一个对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆