私はオブジェクトを返すと予想されるC#メソッドを持っています。このメソッドが例外をスローしない場合は、私は好きです。C#でnull参照型を返すのが正しいのはいつですか
私の質問は、メソッドがnullを返すようにして、それ以上の警告なしで呼び出し側にヌルチェックの責任を与えることですか?
オブジェクトは参照型であるため、オブジェクトがnullである可能性がありますか? (そして、参照型のデフォルト値はnullです: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/null)
// this method is expected to return an object
public MyClass getObject()
{
MyClass myObject = null;
// Another option would be to initialize to a new instance, calling the default constructor and not setting any properties
// MyClass myObject = new MyClass(); // no null check needed by the caller, but it is a pretty useless object
try
{
// just as an example
myObject = new MyClass();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
return myObject; // will return null when and exception occured
}
public class MyClass
{
public int id { get; set; }
public string name { get; set; }
}
のようなプロパティの値をチェックすることができます。 – Ralt
ことももちろん可能で[検索メソッドの戻り値「NULL」万一またはそれは、戻り値を生成することができない場合に例外をスロー?](https://stackoverflow.com/q/175532/11683)の重複 – GSerg