コード例 #1
0
        public SymbolicReferenceData Invoke(QuerySymbolicReferenceParameters parameters)
        {
            Verify.Argument.IsNotNull(parameters, nameof(parameters));

            var fileName = _repository.GetGitFileName(parameters.Name);

            if (File.Exists(fileName))
            {
                string pointer;
                using (var fs = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read))
                {
                    if (fs.Length == 0)
                    {
                        return(new SymbolicReferenceData(null, ReferenceType.None));
                    }
                    else
                    {
                        using (var sr = new StreamReader(fs))
                        {
                            pointer = sr.ReadLine();
                            sr.Close();
                        }
                    }
                }
                return(Parse(pointer));
            }
            return(new SymbolicReferenceData(null, ReferenceType.None));
        }