コード例 #1
0
        private string[] GetReferenceArray(string fileName)
        {
            string resourceName = Assembly.GetManifestResourceNames()
                                  .SingleOrDefault(assemblyName =>
                                                   assemblyName.Contains("Reference") && assemblyName.EndsWith(fileName));

            if (string.IsNullOrEmpty(resourceName))
            {
                throw new Exception($"Could not find resource with file name {fileName}.");
            }

            string line = "";

            using (Stream stream = Assembly.GetManifestResourceStream(resourceName))
                using (StreamReader reader = new StreamReader(stream))
                {
                    // only need first line
                    line = reader.ReadLine();
                }

            if (string.IsNullOrEmpty(line))
            {
                throw new Exception($"Reference resource at {resourceName} has an empty first line.");
            }

            return(line.Split(','));
        }
コード例 #2
0
        /// <summary>
        /// Loads serialized <see cref="HiddenMarkovModel"/> from resource and returns it.
        /// </summary>
        /// <returns></returns>
        /// <exception cref="Exception">If resource name is not found.</exception>
        /// <exception cref="Exception">If resource is not found.</exception>
        public IHiddenMarkovModelWrapper LoadHMM()
        {
            string resourceName = Assembly.GetManifestResourceNames()
                                  .SingleOrDefault(name => name.EndsWith(ModelFileName));

            if (string.IsNullOrEmpty(resourceName))
            {
                throw new Exception($"Could not find resource with name {ModelFileName}.");
            }

            HiddenMarkovModel model = null;

            using (Stream stream = Assembly.GetManifestResourceStream(resourceName))
            {
                model = Serializer.Load <HiddenMarkovModel>(stream);
            }

            if (model == null)
            {
                throw new Exception($"Model resource at {resourceName} not found.");
            }

            return(new HiddenMarkovModelWrapper(model));
        }